根据文档与根的距离,使用相对协议准备结束href和src属性?

时间:2012-03-01 09:01:16

标签: javascript apache http url

在保罗爱尔兰的HTML5BP协议特定网址的基础上,我想实现路径相关的相对网址,在某种意义上,同一网络中另一个媒体/网页的路径的“相对性”取决于当前文档与根的距离。

例如;

我的所有包含(css / images / js)位于http://www.example.com/cdn/,我有几个页面,其中包含http://www.example.com/level-1/level-2/level-3/

这是根文件夹下面的3个级别,这意味着我需要../../../三个级别的相关协议前缀(不确定技术上称为../)。

我不是将../../../添加到每个hrefsrc,而是使用javascript根据文档的当前内容准备结束正确数量的相对协议到网址路径。

我打算使用document.window.location对象,但是当在jsFiddle上使用它时,我意识到它返回了href http://fiddle.jshell.net,它不是浏览器中显示的url。

关于我的两部分问题:

A)如果我正在构建一个将由多个用户安装的主题/模板(但是所有用户都使用LAMP设置),以这种方式使用document.window.location对象是否安全。

B)是否存在任何已经存在的流行库?

TL:DR; 如何根据当前文档更改hrefsrc包含的网址,相对协议(../)与根的距离(路径级别)?

非常感谢任何和所有答案!

1 个答案:

答案 0 :(得分:1)

location.pathname.match(/\//g).length返回url

中使用的斜杠数量

document没有window属性(至少在此网站的Firefox中)。

jsfiddle为每个块使用iframe,因此您可能需要window.top.location而不是window.location

希望,这足以解决您的问题。