我想打开一个新窗口(或选项卡),并将 html 代码放入其中。我怎样才能做到这一点?
就像是:
window.open("","foo");
foo.body="alert('HI')';";
我想打开一个新窗口(或选项卡),并将 html 代码放入其中。我怎样才能做到这一点?
就像是:
window.open("","foo");
foo.body="alert('HI')';";
好旧的 DOM0:
var win = window.open("javascript:void(0)");
win.document.write("<html><body>text</body></html>");
win.document.close();
window.open('foo.html', 'foo');
在里面foo.html
你可以放你想要的代码。例如:
<html>
<head>
<title>This is Foo</title>
<script type="text/javascript">
alert('HI')';
</script>
</head>
</html>
您也可以直接写入新打开的窗口的内容:
var win = window.open('', 'foo');
var doc = win.document;
doc.write('<html>');
doc.write('<head>');
doc.write('<title>This is foo</title>');
doc.write('<script type="text/javascript">alert("HI");</script>');
doc.write('</head>')
doc.write('<body>')
doc.write("</body>")
doc.write("</html>")
function openWindow()
{
NewWindow=window.open("", "awindow","width=300,height=300");
NewWindow.document.write('New content...');
}
HTML
<a href="javascript:openWindow()">Open</a>
AFAIK,您不能从父级调用子级函数 - 但您可以从子级调用父函数
因此,在父窗口的全局范围内定义一个返回所需值的函数:
// Parent window
var getHTML = function(){
return "<span>foo</span>";
};
然后在子窗口中调用它:
// Child window
window.onload = function(){
document.getElementById('foo').innerHTML = window.opener.getHTML();
};