在保罗爱尔兰的HTML5BP协议特定网址的基础上,我想实现路径相关的相对网址,在某种意义上,同一网络中另一个媒体/网页的路径的“相对性”取决于当前文档与根的距离。
例如;
我的所有包含(css / images / js)位于http://www.example.com/cdn/
,我有几个页面,其中包含http://www.example.com/level-1/level-2/level-3/
。
这是根文件夹下面的3个级别,这意味着我需要../../../
三个级别的相关协议前缀(不确定技术上称为../
)。
我不是将../../../
添加到每个href
或src
,而是使用javascript根据文档的当前内容准备结束正确数量的相对协议到网址路径。
我打算使用document.window.location
对象,但是当在jsFiddle上使用它时,我意识到它返回了href http://fiddle.jshell.net
,它不是浏览器中显示的url。
关于我的两部分问题:
A)如果我正在构建一个将由多个用户安装的主题/模板(但是所有用户都使用LAMP设置),以这种方式使用document.window.location
对象是否安全。
B)是否存在任何已经存在的流行库?
TL:DR; 如何根据当前文档更改href
或src
包含的网址,相对协议(../
)与根的距离(路径级别)?
非常感谢任何和所有答案!
答案 0 :(得分:1)
location.pathname.match(/\//g).length
返回url
document
没有window
属性(至少在此网站的Firefox中)。
jsfiddle为每个块使用iframe,因此您可能需要window.top.location
而不是window.location
希望,这足以解决您的问题。