需要帮助追查一个jQuery错误
-
21-09-2019 - |
题
我一直认为与window.opener
交互的弹出窗口上。我发现,试图追加一个对象时,IE浏览器不工作的特定问题。我已经设置了一个演示页这里。
基本上什么演示确实是打开与一个按钮的弹出窗口。其目的是作为我在前面的问题。
在演示中,点击弹出窗口按钮追加两个div到window.opener
。一个div
加入作为串和第二被添加作为一个对象。我在IE试图追加对象时出现错误。这里是JavaScript:
$(':button').click(function(){
$('#clicked').empty().show().html('Click detected!').fadeOut();
var str = '<div class="highlight" style="position:absolute;height:50px;width:50px;left:150px;top:100px;background:#fc0;zIndex:99;">str</div>';
var obj = $('<div/>', {
'class': 'highlight',
css: {
position: 'absolute',
height: '50px',
width: '50px',
left: '100px',
top: '100px',
background: '#08f',
zIndex: 99
}
}).html('obj');
try { $(window.opener.document.body).append(obj); } catch(err) { alert(err.description) };
$(window.opener.document.body).append(str);
})
所以,我要求在使用jQuery追查问题的帮助。
解决方案
我不认为IE浏览器可以让你附加在一个窗口中创建到另一个窗口的DOM元素。这真是挑剔一番。类似地,它被有时吓了一跳如果传递构造的Javascript对象从一个窗口到另一个,特别是如果所述创建窗口后消失。
尝试使用window.opener.$("<div/>")
来创建元件。
不隶属于 StackOverflow