【问题标题】:Why does the base tag seem to be working in Opera and Chrome, but not in Firefox and IE?为什么 base 标签似乎在 Opera 和 Chrome 中有效,但在 Firefox 和 IE 中无效?
【发布时间】:2010-12-12 10:04:33
【问题描述】:

我有一个使用基本标签的网站。站点中的所有链接都是相对的,我设置了一个绝对链接,以便所有链接都应该指向正确的目标。它适用于 Opera 和 Chrome。菜单中的所有链接都有效,所有图像和样式表都可以找到。但在 Firefox 和 IE 中它们不是。我不明白!

我可以在 Opera 和 Chrome 中毫无问题地浏览它。在 FireFox 和 IE 中,当我进入一个子目录中的页面时,一切都搞砸了。我是否误解了该标签的使用方式?还是?

这是网站:http://sites.geekality.net/vipersystem/

【问题讨论】:

    标签: html cross-browser base-tag


    【解决方案1】:

    来自 HTML 4.01 规范:基本元素

    href = uri [CT] 此属性指定一个绝对 URI,作为解析相对 URI 的基本 URI。

    但是 HTML 5 草案放弃了 Base 元素是绝对 URI 的要求,所以我猜 Opera 和 Chrome 已经实现了这种放宽。

    【讨论】:

    • 一个以 / 开头的 URI 被认为是绝对的……或者至少我认为是。也许不是绝对的足够
    • @Svish - HTML 4.01 在 URI 问题上遵循 ietf.org/rfc/rfc2396.txt。其中第 3 节指出“绝对 URI 包含正在使用的方案的名称 (),后跟一个冒号 (“:”),然后是一个字符串 (),其解释取决于方案。”
    • 啊哈,我想这很公平:)
    【解决方案2】:

    base 标签似乎只支持 Firefox 中的绝对路径。

    http://forums.mozillazine.org/viewtopic.php?f=38&t=366823&start=0&st=0&sk=t&sd=a
    http://www.w3.org/TR/REC-html40/struct/links.html#edef-BASE

    因此,

    <base href = "http://sites.geekjuggler.net/vipersystem/" />
    

    应该可以。

    【讨论】:

    • 当我想到它时,我真的认为不将/vipersystem/ 视为绝对链接有点粗鲁。据我所知,至少不是相对的……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    相关资源
    最近更新 更多