如何使用jQuery打开一个新窗口并在其中插入html?

snvhrwxg  于 12个月前  发布在  jQuery
关注(0)|答案(5)|浏览(113)

我试图从JavaScript打开一个新窗口,但没有任何东西被插入到html中:

var callScriptText = $('#callScriptText').html();
var url = '/Action/CallScript/?callScript=';

// Open the current call script in a new window
var openWindow = window.open(url, 'callScriptPopup', 'width = 500, height = 500');
$(openWindow).html(callScriptText);

字符串
有人知道为什么吗?

zi8p0yeb

zi8p0yeb1#

下面是一个使用jQuery打开新窗口的例子

<script>
function nWin() {
  var w = window.open();
  var html = $("#toNewWindow").html();

    $(w.document.body).html(html);
}

$(function() {
    $("a#print").click(nWin);
});​
</script>

<div id="toNewWindow">
    <p>Your content here</p>
</div>

<a href="javascript:;" id="print">Open</a>​

字符串
编辑:对于那些说这段代码不起作用的人,这里有一个jsfiddle来尝试它http://jsfiddle.net/8dXvt/

gmol1639

gmol16392#

试试这个:

var x=window.open();
x.document.open();
x.document.write('content');
x.document.close();

字符串
我发现它可以在Chrome和IE中工作。

whitzsjs

whitzsjs3#

基于@Emre的回答。
使用JavaScript,你可以链接,所以我只是修改了代码:

var x=window.open();
x.document.open().write('content');
x.close();

字符串
另外,要强制它到一个新窗口(而不是一个新标签),给予第一行的尺寸。但它必须是第三个参数。所以将第一行改为:

var x=window.open('','','width=600, height=600');

kh212irz

kh212irz4#

尝试:

var x = window.open('', '', 'location=no,toolbar=0');
x.document.body.innerHTML = 'content';

字符串

guz6ccqo

guz6ccqo5#

var win = window.open('', 'title', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1000,height=1000,left=200,top=70');
var codeContents = document.getElementById("contentsfornewWindow").innerHTML;
win.document.body.innerHTML = codeContents;

字符串
VS:

win.document.write(codeContents);


我注意到如果有像youtube视频一样的iframe,win.document.write加载iframe,而document.body.innerHTML没有!

相关问题