我最近遇到了一個問題,當準備一個web應用程序在IE11中工作。我找到了一個可行的解決方案,但我寧願有一個很好的理由說明它爲什麼起作用,而不是猜測。從URL重定向時window.location中「/urlString.html」與「urlString.html」的區別是什麼?
我的問題是不正確的路徑(HTTP://本地主機:4724 /查看/完成),使用下面的JavaScript作爲退出頁:
window.location = "Exit.aspx?timeout=true";
這導致像一個URL所以在IE11中。注意額外/查看/:
HTTP://localhost:4724/View/Exit.aspx?timeout=true
在Chrome中它導致的正確網址:
HTTP://localhost:4724/Exit.aspx?timeout=true
我能夠通過使用window.location的,像這樣當包括一個斜槓來解決此問題:
window.location = "/Exit.aspx?timeout=true";
然後正確路線Chrome和IE11到的URL:
的http://本地主機:4724/Exit.aspx超時=真
什麼是IE11口譯不同的是,當我包含window.location字符串的正斜槓?
我認爲IE11在這裏的行爲是正確的。沒有/這個url是相對於當前目錄而言的,在這個例子中,/ view類似於你對css的影像等等,不知道爲什麼Chrome會像你期望的那樣工作 – TommyBs
是的,我發現奇怪的是,現在我可以更好地理解URL相對/絕對邏輯。現在我想我會調查爲什麼這個工作首先。 (我不是(完全)瘋狂的,我仍然可以通過控制檯使用chrome工作而不需要前導斜線)。 – Rapida
好吧,不知道這會有助於任何人,但問題是圍繞使用相對基本標記。 Chrome瀏覽器似乎可以處理它,而IE11需要絕對基本標籤。 – Rapida