2016-04-22 61 views

回答

2

window.locationLocation類型,它類似於URL類型,這意味着它應該有一個port財產。

你可以這樣做:

if (window.location.port === "4567"){ 
    window.location = "https://forum.domain.com"; 
} 

或者如果你想多一點的可擴展性:

if (window.location.port === "4567"){ 
    window.location = window.location.href.replace(':' + window.location.port, ""); 
} 
+0

工作!謝謝:) – Verpz

+0

這有點不正確。 'window.location'不返回實驗性的'URL'類型。它返回一個'Location'類型,這是不同的。這在鏈接的文檔中有明確說明。 [位置的''port'屬性](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/port)只是一個字符串(如您的示例中所用),而不是你鏈接到的'Port'對象。 –

+0

啊,謝謝你的澄清@MatthewHerbst – Quill

1

您需要使用==進行比較。

if (window.location.href == "http://forum.domain.com:4567") { 
    window.location = "https://forum.domain.com"; 
} 

單個=用於分配。您擁有的代碼不會因爲分配工作而失敗,然後window.location.href是一個真值。

2

你是if檢查是設置值,而不是做比較,這就是爲什麼你會得到一個循環。

更改爲:

if (window.location.href == "http://forum.domain.com:4567") {