IE 9不使用window.open刷新窗口,而是打开新窗口
IE 9 does not refresh windows with window.open, instead opens new window
我有以下一行代码,当单击链接时使用jQuery调用:
alipayTransactionModalTrigger.click(function(e) {
e.preventDefault();
$.ajax({
url: "doSomething",
data: "p_locale=en-US",
success: function(dataOut){
if (dataOut == "hold") {
...do something...
} else {
//open a modal over parent window
alipayTransactionModal.dialog("open");
//also open new tab/window
var Payment = window.open("http://www.alipay.com", "Payment");
Payment;
Payment.focus();
}
}
});
return false;
});
ajax调用基本上只是检查一些值。成功的召唤正在像它应该发生的那样发生,这不是问题所在。通过使用框架名称,我试图在多次单击链接时强制刷新新打开的窗口/选项卡。这在IE 8、Chrome和Firefox中都有效——用户可以多次点击链接,并且只会打开一个新窗口——随后的点击只会重新加载该窗口。
然而,IE 9不会发生这种情况——IE 9每次都会打开一个新的窗口/选项卡。有没有办法在IE 9中强制执行这种行为?或者,即使只是解释一下为什么IE 9中会出现这种情况也很好——这是用户级别的设置吗?据我所知,当我在window.open()
中使用帧名时,IE9只是不知道我指向的是什么。
我应该提到的另一件事是,.focus()
并不总是将窗口集中在第二次/第三次等点击上(似乎取决于浏览器和浏览器设置),但我已经在这里问过这个问题了,只是在这里包括它,以防它相关。
感谢
使用window.open从ajax回调打开窗口注定会被弹出窗口阻止程序阻止。我相信如果你禁用它,它会按预期工作。
请在此处查看此答案。Window.open被阻止您需要正确的窗口上下文。
我没有用于测试的IE9,但这可能有助于
var openLink = (function() {
var _popups = {};
return function(link, name) {
if (_popups.hasOwnProperty(name) === false) {
_popups[name] = window.open();
}
_popups[name].location.href = link;
_popups[name].focus();
};
}());
示例
相关文章:
- 防止Iframe窗体在新窗口中打开
- 在新窗口上使用d3.js
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 如何在新选项卡中而不是在新窗口中打开URL
- 如何禁用鼠标中键单击超链接以在新选项卡或新窗口中打开
- 如何打开一个新窗口或选项卡,并将其提供给javascript执行
- window.open:是否可以通过修改DOM来打开一个新窗口
- Chrome应用程序在全屏中创建新窗口-html元素不是全高的
- 如何在windowsphone 7浏览器中通过javascript打开新窗口或选项卡
- 为在新窗口中打开外部链接创建异常
- 如何使用base64 PDF内容打开新窗口
- 在后台打开新窗口
- 在新窗口中通过谷歌地图的localStorage作为地图中心
- javascript window.open(),并在新窗口中搜索DOM
- 打开一个新窗口并更改其父窗口'的内容
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- SVG编辑链接获胜't在新窗口中打开
- 如何通过单击数据在新窗口上显示TableView数据
- 打开新窗口进行打印时不显示 JavaScript 图像