Javascript 是HTML<;基地>;标签也被脚本和CSS所尊重?
HTML元素为HTML中的相对URI提供了基础。JavaScript和CSS是否也必须遵守其中发布的相对URI: 例如 JavaScript:Javascript 是HTML<;基地>;标签也被脚本和CSS所尊重?,javascript,html,css,uri,relative-path,Javascript,Html,Css,Uri,Relative Path,HTML元素为HTML中的相对URI提供了基础。JavaScript和CSS是否也必须遵守其中发布的相对URI: 例如 JavaScript: location.href = "mypage.htm"` CSS: (在任何浏览器中?CSS路径始终相对于样式表本身,并且不依赖于HTML位置(除非IE6有缺陷且愚蠢,并且试图加载CSS行为属性中指定的与文档相关的.htc文件)。对于其他内容,将影响HTML的当前目录,就好像文件位于base定义的目录中一样。因此,它确实会影响location.hr
location.href = "mypage.htm"`
CSS:
(在任何浏览器中?CSS路径始终相对于样式表本身,并且不依赖于HTML位置(除非IE6有缺陷且愚蠢,并且试图加载CSS
行为
属性中指定的与文档相关的.htc
文件)。对于其他内容,
将影响HTML的当前目录,就好像文件位于base定义的目录中一样。因此,它确实会影响location.href=代码>。顺便说一下,
元素中的内联样式和样式信息是相对于文档位置加载的。当然,这些都受到
标记的影响。基本标记实际上只受HTML文档本身内部的相对链接的影响
但是,在HTML(而不是XHTML)中使用
标记时,确实需要考虑IE6特有的错误。
标记在HTML中被记录为没有结束标记
,但IE6错误地将其假定为真,这将导致
标记后的整个内容作为
标记在其HTML DOM树中的子项。这可能会在Javascript/jQuery/CSS中造成乍一看无法解释的问题,即在特定选择(例如html>body
)中完全无法访问元素,直到您发现两者之间实际上存在base
正常的IE6修复程序使用条件注释来包含结束标记:
<base href="http://example.com/"><!--[if lte IE 6]></base><![endif]-->
@Marcus:HTML4无效(尽管浏览器接受它)。但在HTML5中,你可以完美地做到这一点。@Marcus:请记住,使用
会影响锚定:我知道,我已经更改了几千个锚定:)
<base href="http://example.com/"><!--[if lte IE 6]></base><![endif]-->