IE 9中的window.open()

时间:2011-07-14 17:49:32

标签: javascript internet-explorer

当我尝试     window.open() 在IE 9中,它用收藏夹侧边栏打开它(如果它出现在父窗口中)这是IE独有的行为,它打破了我设想它们的对话框窗口。有什么希望解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

既然您指定将其用于对话框,我觉得我应该不鼓励这样做。使用window.open()不适合创建对话框。

  • 有些浏览器会忽略您的“新窗口”请求,并将其作为新标签打开。这可以由浏览器用户配置,因此无法控制。

  • 如果用户打开了工具栏和侧面板,则很可能会出现在新窗口中,这会破坏您的布局。同样,您需要在每个浏览器中对此进行测试,即使这样,如果不知道可能影响它的所有配置选项,您也无法确定。

  • 打开一个新窗口不会给你一个模态对话框。您无法阻止用户单击返回父窗口并忽略该对话框。

因此,如果你想创建一个对话框,你最好使用一个在当前页面内打开一个框的javascript库。它比window.open()更加灵活,让您对最终结果有更多的控制权。

如果您正在使用JQuery,您可能希望从这里开始:http://choosedaily.com/1178/15-jquery-popup-modal-dialog-plugins-tutorials/,但是有其他堆栈可用(这是一个非常容易编写的东西,尤其是在JQuery中,所以有很多插件在那里你可以尝试,直到找到一个适合你的方式)

答案 1 :(得分:0)

尝试将其更改为window.location.href= 'url + target="_blank"'