2015-12-11 208 views
0

我試着通過在不同的瀏覽器

window.location.protocol = 'https:'; 

我用https:用冒號,而不是http,因爲當我在控制檯輸入window.location.protocol切換協議並重新加載頁面設置window.location.protocol,它打印與冒號。

但是現在我發現上面的代碼不適用於Firefox 40,我被告知要刪除冒號。我發現下面的代碼具有更好的兼容性,它可以在chrome和ff上運行,即使FF40不適用於此。

window.location.protocol = 'https'; 

說實話,當你設置一個屬性與價值https,那麼你會得到一個https:它真的很奇怪。

我的問題是:是FF40的錯誤,還是我的第二行代碼是切換協議的標準方式?

回答

0

你可以把它動態的,通過測試的瀏覽器如何返回當前URL的這樣的協議:

if(location.protocol.slice(-1)==":") 
{ 
    window.location.protocol = 'https:' 
    } 
else 
{ 
    window.location.protocol = 'https' 

}