【问题标题】:Why does IE8 remove the Uri fragment (#myvar=1234) from window.open?为什么 IE8 会从 window.open 中删除 Uri 片段 (#myvar=1234)?
【发布时间】:2011-09-25 16:54:25
【问题描述】:

我在使用 Javascript 打开弹出窗口时遇到问题,该问题似乎只发生 在 IE 8 (8.0.7600) 中

我正在尝试 window.open 带有片段的 uri,例如:

http://davidlaing.com#UserName=CC735158

如果我把它放到地址栏中;它工作正常(加载页面上的javascript可以访问uri片段)。

但是,如果我尝试从 javascript 打开相同的 uri:

window.open("http://davidlaing.com#UserName=CC735158",'','');

打开的窗口没有片段(即弹窗地址栏只显示http://davidlaing.com,加载页面的javascript看不到任何Uri片段)

相同的 Javascript 在其他浏览器(IE9、FF6、Chrome)上也能正常工作。我很确定它不是弹出窗口阻止程序,因为一个窗口是“弹出”的,它只有一个没有片段的 url。

任何关于可能出现问题以及如何解决问题的指针将不胜感激。

【问题讨论】:

  • 您是否尝试编码破折号 %23UserName 而不是 #UserName ?编辑:嗯,不......它不起作用。

标签: javascript internet-explorer-8


【解决方案1】:

您的 IE8 构建版本似乎有问题。

我可以确认 IE 8.0.6001.18702 在 javascript window.open("http://davidlaing.com#UserName=CC735158",'',''); 中打开时保留了 URI 的哈希片段;

仅供参考:我使用的是 XP IE6 VPC (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11575),并立即升级到 IE8,并带有微软精心留在桌面上的快捷方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多