0

新しいウィンドウ (またはタブ) を開き、そこに html コードを入れたいです。どうやってやるの?

何かのようなもの:

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

4 に答える 4

2

古き良きDOM0:

var win = window.open("javascript:void(0)");
win.document.write("<html><body>text</body></html>");
win.document.close();
于 2012-07-04T21:34:01.427 に答える
1
 function openWindow()
 {
     NewWindow=window.open("", "awindow","width=300,height=300");
     NewWindow.document.write('New content...');
 }

HTML

<a href="javascript:openWindow()">Open</a>​

デモ。

于 2012-07-04T21:42:05.387 に答える
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>")
于 2012-07-04T21:30:38.943 に答える
0

私の知る限り、親から子の関数を呼び出すことはできませんが、子から親関数を呼び出すことはできます

したがって、親ウィンドウのグローバル スコープで、目的の値を返す関数を定義します。

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

次に、子ウィンドウで呼び出します。

// Child window
window.onload = function(){
    document.getElementById('foo').innerHTML = window.opener.getHTML();
};
于 2012-07-04T21:46:24.783 に答える