jquery - 需要帮助追踪 jQuery 错误

标签 jquery debugging internet-explorer window.opener

我一直在开发一个与 window.opener 交互的弹出窗口。我发现在尝试附加对象时 IE 无法工作的特定问题。我设置了 demo page here .

基本上,该演示的作用是打开一个带有按钮的弹出窗口。它的目的是突出显示页面的部分内容,如我在 previous question 中所述。 .

在演示中,单击弹出窗口按钮会将两个 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/>")创建您的元素。

关于jquery - 需要帮助追踪 jQuery 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289929/

相关文章:

jquery - Bootstrap w. Kendo UI - 响应式表格

jquery - 如何使用 ES6/ES7 语法导入 jQuery UI?

php - 中断 php 进程以获取 js 变量

c++ - 使用模板调试 C++ 代码,使用 gdb 调试 STL

javascript - JQuery - 检查每个动态添加的按钮是否被点击

java - 实例变量变为 null

C# 二叉搜索树 - 堆栈溢出 - 调试

JQuery - 如何正确删除 Internet Explorer 中的 CSS 属性?

internet-explorer - 在浏览器中查看 pdf 但以错误的文件名保存

html - CSS 位置 :fixed not working in ie