2015-12-11 157 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' 

}