HTML在新窗口中

时间:2012-07-04 21:28:26

标签: javascript

我想打开一个新窗口(或标签页),并将html代码放入其中。我怎么能这样做?

类似的东西:

window.open("","foo");
foo.body="alert('HI')';";

4 个答案:

答案 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>​

DEMO.

答案 3 :(得分:0)

AFAIK,你不能在父母的孩子身上调用一个函数 - 但你可以从孩子那里调用父函数

因此,在父窗口的全局范围内定义一个返回所需值的函数:

// Parent window
var getHTML = function(){
   return "<span>foo</span>";
};

然后在子窗口中调用它:

// Child window
window.onload = function(){
    document.getElementById('foo').innerHTML = window.opener.getHTML();
};