Javascript 当子窗口准备就绪时,使用jquery将html从父窗口注入子窗口
我的初步代码是这样的Javascript 当子窗口准备就绪时,使用jquery将html从父窗口注入子窗口,javascript,jquery,code-injection,childwindow,document-ready,Javascript,Jquery,Code Injection,Childwindow,Document Ready,我的初步代码是这样的 $j(document).ready(function() { var w = window.open(childPage); $j(w.document).ready(function() { $j('#DestinationElement', w.document).html($j('#SourceElement').html()); }); }); 然而,这仅在我在html注入语句上设置断点时适用,这意味着在执行注入之前不会真正等待子
$j(document).ready(function() {
var w = window.open(childPage);
$j(w.document).ready(function() {
$j('#DestinationElement', w.document).html($j('#SourceElement').html());
});
});
然而,这仅在我在html注入语句上设置断点时适用,这意味着在执行注入之前不会真正等待子窗口准备就绪
有人能修一下吗?谢谢。以下是一些备选方案: 将事件侦听器附加到窗口onload事件。 (但在IE中,您将使用attachEvent来“onload”) 在子窗口本身中,在文档准备就绪时获取开场白的html
$j(document).ready(function() {
$j('#DestinationElement').html($j('#SourceElement', window.opener.document).html());
});
但我仍然感到困扰的是,我不明白原始解决方案失败的原因。不确定原始解决方案失败的原因。jquery可能使用父窗口的数组、字符串等类型,因此类型检查失败。另一个选项是,当您将
w.document
提供给jquery时,它尚未创建。一些浏览器在几百毫秒后创建新文档,因此它不是同步的。捕获子窗口的页面负载绝非易事。。。以下是在大多数浏览器中执行此操作的方法: