html文件包含文件路径,包含html,同时保留包含文件的路径

有几个我希望包含在“父”文件中的html代码片段。

父文件包含相对路径。

这些片段还包含相对路径,相对于它们的位置 - 与它们将包括在其中的文件无关。

例如,一个片段是标题,对网站上的所有页面都是通用的。包含html,同时保留包含文件的路径

logo.png

这将被插入到现有的页面如下:

实施例是非常大大简化,实际的文件有许多路径。

我不控制将被包含的文件。

这意味着我无法将PHP变量添加到网址。

我也无法以任何方式使路径绝对路径。

对于包含的文件 - 因为我无法控制html。

所有文件 - 因为最终的页面dev'd几台机器上,且必须在是否http://www.mysite/myfile,http://localhost/mysite/myfile,甚至http://127.0.0.1/~/anyuser/ ...

一些想法我有:

php include:include '../includes/header.txt';

路径与其包含的文件相关。

包括每个片段作为一个iFrame:

页面布局不是很友好的iFrame。除了SEO &页面加载问题。

解析页面并使用解析器替换所有路径。

这些页面不是100%有效的HTML(无法控制它们),解析器会咳嗽并翻滚死亡。除了可笑的服务器负载。

在每一个真正的浏览器使用base tags

精美的作品。

但Internet Explorer 7,8和9只是忽略基本标记(头部以外)。 一个基本标记可能会在头部声明,但页面上的所有其他路径(可能在CSS文件中)将全部错误。

BaseTag用法:

echo "";

include '../includes/header.txt';

echo "";

?>

据我所知,这正是为什么基地创建变量,并在每一个体面的浏览器支持 - 这样我们就可以在一个中间HTML文件,告诉浏览器我即将包含第二个HTML文件,并且所有路径都应该相对于新位置。这在IE6中运行得非常好,我认为必须有一些逻辑放弃对它的支持。一些逃脱Opera,Webkit和Mozilla的逻辑。 我可以找到关于这个问题的唯一的帖子赞美微软放弃支持,甚至没有给出什么暗示为什么下降支持公认的标准(在所有浏览器中使用的时间)和有用的是一件好事。

现在,我讨厌以热情为IE开发,但不能忽视它。他们仍然有近三分之一的用户!

那么,如何包含相对路径的php片段,并保持它们相对于被包含的文件?

任何人都可以请告诉我,如果有任何理由在所有MS丢弃基地支持,或可以做些什么来帮助恢复?

2010-11-10

SamGoody

+0

为什么要将基本标签放置在头部的任何位置?你想包括相关的PHP脚本(服务器端)或图像(客户端)?从你的问题来看,这不是很清楚。 –

2010-11-10 21:45:37

+0

我没有发现你的问题非常清楚,但它似乎与include()或PHP没有任何关系。 include()语句的结果与包含文件的内容在源文件中的该位置粘贴的结果相同。所以,想象一下这个HTML就在那里,并且你没有使用include()。现在你的问题与include()无关,只是想知道你想如何处理应用程序中的路径。也许你应该为项目中更高级别的图像定义一个基本的URL,并在你的CSS中使用它。 –

2010-11-10 21:50:53

+0

@Phil - 我试图将HTML中包含的路径包含到图像,JavaScript或CSS文件中。我将基本标签放在包含的内容之前的原因是,包含的内容具有与该页面的其余部分不同的根,该部分与位置对象相关。如果我把基本标签放在头部,它会使页面上的所有路径相对于其他位置......为什么我要这样做? –

2010-11-11 08:53:00

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值