在尝试获取弹出窗口的“关闭”属性时,我在Opera中遇到了类似bug的问题。
以下是我执行的操作。
>>> win = open('some url in the same domain with the parent window','name','feature')
Window
>>> win.closed //at this point, the popup window is not closed
false
>>> win.closed //at this point, the pop window is closed
false //this should be true
第二个“假”应该是“真实的”,正如我所料。
我在Chrome和Firefox中运行它,没关系。
有任何线索吗?
PS: 我正在使用Opera 11.2,Linux
答案 0 :(得分:1)
这在我的Opera版本中运行良好,至少在我放在一起的测试用例中here。
我可以手动或使用按钮关闭窗口,closed
属性显示正确的值。
我在linux上使用Opera版本11.61。
以下是测试用例的代码。
var popup = {};
function pop() {
popup = window.open('foo', 'foo', "menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,width=200,height=200" );
}
function unpop() {
popup.close();
}
function check() {
alert(({}).toString.call(popup) + ' closed: ' + popup.closed);
}
var b1 = document.body.appendChild(document.createElement('button'));
var b2 = document.body.appendChild(document.createElement('button'));
var b3 = document.body.appendChild(document.createElement('button'));
b1.textContent = 'open';
b2.textContent = 'close';
b3.textContent = 'check';
b1.onclick = pop;
b2.onclick = unpop;
b3.onclick = check;
答案 1 :(得分:1)
请升级Opera。有一个已知的错误在某些早期版本中破坏了正确的.closed报告,但它应该在最近的版本中修复。
答案 2 :(得分:0)
这似乎是Opera中的一个错误。我发现有人打开错误报告的资源: http://www.highdots.com/forums/javascript/closing-popup-window-new-opera-45642.html
请注意回复:
E Michael Brandt写道:
感谢您确认此信息以及提交错误报告。 snip这是一个已知的bug和一个回归,它应该很快修复,但我不能保证修复将是 在下一个次要版本中,我无法建议时间表。抱歉 关于造成的不便!