我想打开一个新窗口(或标签页),并将html代码放入其中。我怎么能这样做?
类似的东西:
window.open("","foo");
foo.body="alert('HI')';";
答案 0 :(得分:2)
好老DOM0:
var win = window.open("javascript:void(0)");
win.document.write("<html><body>text</body></html>");
win.document.close();
答案 1 :(得分:1)
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>")
答案 2 :(得分:1)
function openWindow()
{
NewWindow=window.open("", "awindow","width=300,height=300");
NewWindow.document.write('New content...');
}
<强> HTML 强>
<a href="javascript:openWindow()">Open</a>
答案 3 :(得分:0)
AFAIK,你不能在父母的孩子身上调用一个函数 - 但你可以从孩子那里调用父函数
因此,在父窗口的全局范围内定义一个返回所需值的函数:
// Parent window
var getHTML = function(){
return "<span>foo</span>";
};
然后在子窗口中调用它:
// Child window
window.onload = function(){
document.getElementById('foo').innerHTML = window.opener.getHTML();
};