在 HTML 中,链接、外部图像、样式表等都是通过指定一个 URI 从外部引入。相对 URI 根据基础 URI 解析,基础 URI 来源广泛,BASE 元素允许作者明确指定文档的基础 URI 。
BASE 元素必须出现在 HTML 文档的 HEAD 部分,在任何元素引入外部资源之前定义。 BASE 元素定义的路径信息只影响在文档中的元素出现的 URI 。
关于 BASE 元素的更多信息,请参考 HTML4.01 规范 12.4 Path information: the BASE element 中的内容。
BASE 元素出现在 BODY 中,且定义了 target 属性,各浏览器表现不一致。
导致页面中的链接的打开方式不同,造成差异。
所有浏览器 |
---|
下面在 BODY 中定义 BASE 标签,且定义 target 属性值是 _blank:
<!DOCTYPE html> <html> <body> <a href="http://www.w3.org">before BASE</a> <base target="_blank" /><br /> <a href="http://www.w3.org">after BASE</a> </body> </html>
在各浏览器中效果如下:
IE6 Opera Firefox | IE7 IE8 | Chrome Safari | |
---|---|---|---|
点击 before BASE | 当前页面打开 | 当前页面打开 | 在新窗口打开 |
点击 after BASE | 在新窗口打开 | 当前页面打开 | 在新窗口打开 |
可见,
不要在 HEAD 元素之外定义 BASE 元素,保证各浏览器兼容。
操作系统版本: | Windows 7 Ultimate build 7600 |
---|---|
浏览器版本: |
IE6
IE7 IE8 Firefox 3.6.10 Chrome 7.0.544.0 dev Safari 5.0.2 Opera 10.62 |
测试页面: | base.html |
本文更新时间: | 2010-10-08 |
BASE target