Osc*_*car 6 javascript jquery window.open
我试图打开这样一个弹出窗口:
$('#btn').click(function () {
var popup = window.open('mypage.php', '_blank', 'width=500,height=500');
var dom = popup.document.body;
for (i in dom) {
console.log(dom[i]);
}
});
Run Code Online (Sandbox Code Playgroud)
现在我想要做的是从弹出窗口获取html,并且也可以使用window.opener(打开弹出窗口的页面)中的jQuery函数
PS.在控制台中有很多东西打印但没有html源代码.
用它来试试:http://jsfiddle.net/JRqTy/
提前致谢.
尝试:
var html = popup.document.documentElement.outerHTML
Run Code Online (Sandbox Code Playgroud)
编辑
该窗口不会立即加载。假设您不尝试违反同源策略,则类似的事情将起作用:
$('#btn').click(function() {
var popup = window.open('[Your URL HERE]', '_blank', 'width=500,height=500');
popup.onload = function() {
setTimeout(function(){ console.log(popup.document.documentElement.outerHTML) }, 2000);
}
});?
Run Code Online (Sandbox Code Playgroud)
这是工作中的小提琴。
注意:如果您同时控制父源和子源,则还可以让子在传递其html的父上调用一个方法:
子窗口
// Call when body is loaded
function SendHtmlToParent() {
window.opener.HtmlReceiver(document.outerHTML);
}
Run Code Online (Sandbox Code Playgroud)
父级
function HtmlReceiver(html) {
console.log(html);
}
Run Code Online (Sandbox Code Playgroud)