2009-08-20 198 views
0

我有一個頁面,使用javascript window.location從查詢字符串中獲取值。從網絡服務器上運行時,該工作正常,但如果我運行它在本地使用IE6將這個標籤在地址欄IE6丟失查詢字符串

c:\mysite\index.htm 

任何查詢字符串的網站創建迷路和window.location只包含高達.htm位置。

我意識到上面的例子沒有查詢字符串,但該頁面鏈接到做的頁面。從網絡共享(例如\\server\mysite\index.htm)運行時,這也會失敗。它似乎在IE7 +中工作正常,只在IE6中失敗。

任何想法都會讓我發瘋。

編輯:我jsut意識到這是發生在一個模式窗口是否有任何區別?

+0

http://iedeathmarch.org/ – Havenard 2009-08-20 05:33:36

回答

0

似乎IE6在模態窗口本地運行時忽略任何querystrings。通過將變量作爲對話參數而不是querystrings傳遞到模態窗口來解決問題。

0

這可能是IE6中的一個安全問題。我唯一能想到的就是使用HTA而不是HTML文件。這是一個選擇嗎?

0

您是否知道window.location不是一個簡單的字符串,而是一個structured object帶有字段?查詢字符串在window.location.search--顯然,IE6在打印父對象時根本不包含該部分。

+0

是的我意識到這一點,IE6似乎在離線運行時丟失搜索文本 – Gavin 2009-08-20 05:51:43

+0

hm,那是一個令人討厭的怪癖。 – 2009-08-20 05:54:06

+0

它似乎也預先在file://不知道這是否會在運行方式上有所不同 – Gavin 2009-08-20 05:59:17

4

查詢字符串顯式不存在方案「文件」的URI。見RFC1738。在'file:'URI的末尾添加?查詢是沒有意義的。

如果要在頁面上包含可用於腳本的額外位置信息,請使用#fragment標識符和location.hash。