我在使用javascript脚本时遇到了一些麻烦,该脚本会自动转发您使用ssl。例如,
但我的问题是不断加载脚本,但是我希望它在已经加载时停止。它会不断重新加载,使得点击页面上的链接变得非常烦人和困难。
这是我当前的脚本
window.location =“https://”+ window.location.hostname + window.location.pathname + window.location.search;
答案 0 :(得分:2)
你需要这个:
if(window.location.protocol == 'http:') {
window.location = "https://" + window.location.hostname + window.location.pathname + window.location.search;
}
......甚至更好:
if(window.location.protocol == 'http:') {
window.location.replace(window.location.toString().replace(/^http:/, 'https:'));
}
第二种变体更好,因为:
window.location.replace()
而不是直接将字符串分配给window.location
,因此以前的网址将从历史记录中删除,并且当用户点击“返回”时按钮,他将跳转到原始页面,而不是#34; http:"协议:http://www.w3schools.com/jsref/met_loc_replace.asp 但最好在服务器端实现这一点。