2009-08-20 58 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。