2014-02-20 84 views
10

Protocol-relative URLs可以方便地使用與原始請求相同的模式(HTTP或HTTPS)包含資源(圖像,CSS,JS),同時只保留緩存頁面的單個副本。然後用戶代理決定是否使用HTTP或HTTPS(基於HTML頁面的URI)。我可以使用協議相關的<base>標籤嗎?

我們正在使用<base href=".." />標記和相對URL來指向HTML中的資源。

一個例子:

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

有,我可以將這個辦法嗎? <base/>標記中的協議相關網址?

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

我的實驗尤其如此。有時候Internet Explorer會有時候工作,有時候甚至不工作(有時甚至連菜單鏈接都不起作用,有時CSS圖像沒有加載)。

是否有任何東西可以使其工作或任何建議,如果這是一個好主意?我無法找到像caniuse.com這樣的網站上的信息。

回答

2

我們只是試圖通過一個網站和谷歌的抓取工具不知道如何使用協議相對路徑作爲基礎,我們結束了它索引許多破碎的網址。

我不確定在這裏使用協議相對路徑是否是基本路徑的可接受值。瀏覽器似乎很瞭解協議的相關基礎,但可能是因爲他們會接受更寬鬆的內容。

+0

我同意..它看起來像使用協議相對基HREF的是沒有好主意。 – StephenKing

0

與JavaScript設置爲我工作:

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