【问题标题】:Can I use a protocol-relative <base> tag?我可以使用相对于协议的 <base> 标签吗?
【发布时间】:2014-03-21 10:13:50
【问题描述】:

Protocol-relative URLs 使用与原始请求相同的架构(HTTP 或 HTTPS)方便地包含资源(图像、CSS、JS),同时仅保留缓存页面的单个副本。然后用户代理决定是使用 HTTP 还是 HTTPS(基于 HTML 页面的 URI)。

我们正在使用&lt;base href=".." /&gt; 标记和 HTML 中资源的相对 URL。

一个例子:

<html>
<head>
  <base href="http://example.com" />
  <script src="js/foo.js" type="text/javascript" />
</head>

有什么办法可以结合这个吗? &lt;base/&gt; 标记内的协议相关 URL?

<base href="//example.com" />

我的实验,尤其是。使用 Internet Explorer 有时可以工作,有时不能(有时甚至菜单链接都不起作用,有时 CSS 图像未加载)。

有什么可以让我让它工作的东西,或者如果这是个好主意,有什么建议吗?我无法在 caniuse.com 等网站上找到信息。

【问题讨论】:

    标签: html internet-explorer http


    【解决方案1】:

    我们只是在一个网站上尝试了这个,而 Google 的爬虫不明白如何使用协议相对路径作为基础,我们最终用它索引了许多损坏的 url。

    我不确定在此处使用协议相对路径是否是基本路径可接受的值。浏览器似乎可以很好地理解协议相关基础,但可能是他们对接受的内容更宽容。

    【讨论】:

    • 我同意.. 使用协议相对基础 href 似乎不是个好主意。
    【解决方案2】:

    使用 javascript 设置对我有用:

    <head>
        <script>
            var str = document.location.protocol + '//' + document.location.host + '/';
            document.write('<base href="'+str+'">');
        </script>
    </head>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 2013-11-23
      • 2018-10-30
      • 2021-04-22
      • 1970-01-01
      • 2013-03-12
      相关资源
      最近更新 更多