我尝试切换协议并通过
重新加载页面 window.location.protocol = 'https:';
我使用冒号代替https:
http
,因为当我在控制台中键入window.location.protocol
时,它会以冒号打印。
但是现在我发现上面的代码不适用于Firefox 40,我被告知要删除冒号。我发现下面的代码具有更好的兼容性,它适用于chrome和ff,甚至FF40以前都无法正常工作。
window.location.protocol = 'https';
老实说,当你设置一个值为https
的属性时,你会得到一个https:
,这真的很奇怪。
我的问题是:它是FF40的错误,还是我的第二行代码是切换协议的标准方法?
答案 0 :(得分:1)
window.location.protocol不可写,只能读取,这意味着您无法更改该值。
答案 1 :(得分:0)
你可以通过测试浏览器如何返回当前URL的协议来动态地制作它:
if(location.protocol.slice(-1)==":")
{
window.location.protocol = 'https:'
}
else
{
window.location.protocol = 'https'
}