2014-10-31 54 views
0

我有麻煩試圖重定向我的網站從HTTP到HTTPS使用JavaScript(我知道這不是最好的選擇),它是工作,但我想增加3重訪的限制,如果瀏覽器贏得'切換到https,它會重定向到我過期的頁面。我正在試圖用cookie來計數反彈。不幸的是,它似乎不工作,甚至我的重定向到https停止工作。我無法確定問題。任何幫助?謝謝。 這裏是我的代碼:將網站重定向到HTTPS並重試次數有限?

<script language="JavaScript"> 
var loc = window.location+''; 
if (retry>=3)[ 
alert('We are sorry, but your client does NOT support SSL(Https) protocol.') 
alert("This Website Can Not Be Loaded, Your Browser Is Out Of Date!!!") 
window.location.replace("https://gamingwiththecrew.com/outofdate.html"); 

if (loc.indexOf('http://')==0){ 
document.cookie="retry= + 1"; 
window.location.href = loc.replace('http://','https://'); 
} 
</script> 
+0

檢查您的代碼中的語法錯誤,您的第一個如果意味着結束? 您也可以使用window.location.protocol,並且您需要將cookie值'retry'增加1,而不是將其設置爲'+ 1'。編輯:你有什麼客戶嘗試「*支持*」?幾乎每個能夠呈現網站的瀏覽器都支持https。 – 2014-10-31 22:49:30

回答

1

你應該檢查你的代碼的語法錯誤:

檢查語法,其中if(retry>3) [。例外'[''應該是'{'代替。

您應該嘗試window.retry以全局方式存儲變量,而不是使用「cookie」,因爲某些訪問者可能會在瀏覽器中禁用Cookie。

一個例子應該是:

<script language="JavaScript"> 

window.retry = 0; 
var loc = window.location+''; 
if(window.retry>=3){ 
    alert('We are sorry, but your client does NOT support SSL(Https)protocol.'); 
    alert("This Website Can Not Be Loaded, Your Browser Is Out Of Date!!!"); 
    window.location.replace("https://gamingwiththecrew.com/outofdate.html"); 
    if (loc.indexOf('http://')==0){ 
     window.retry +=1; 
     window.location.href = loc.replace('http://','https://'); 
} 

</script> 

希望幫助?

0

好的,謝謝斯坦利阿莫斯,但是當我嘗試示例代碼時,它仍然不起作用。在訪問loc.replace之前,代碼似乎是「掛起」的。 但我解決了它通過移動

if (loc.indexOf('http://')==0){ 

到開頭。 所以我的代碼看起來像這樣:

<script language="JavaScript"> 

window.retry = 0; 
var loc = window.location+''; 
if (loc.indexOf('http://')==0){ 
    window.retry +=1; 
    window.location.href = loc.replace('http://','https://'); 
} 
if(window.retry>=3){ 
    alert('We are sorry, but your client does NOT support SSL(Https)protocol.'); 
    alert("This Website Can Not Be Loaded, Your Browser Is Out Of Date!!!"); 
    window.location.replace("https://gamingwiththecrew.com/outofdate.html"); 
} 

</script> 
相關問題