我正在尝试从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);
有谁知道为什么?
答案 0 :(得分:109)
以下是使用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/
答案 1 :(得分:81)
试试这个:
var x=window.open();
x.document.open();
x.document.write('content');
x.document.close();
我发现它适用于Chrome和IE。
答案 2 :(得分:24)
以@Emre的回答为基础。
使用javascript,你可以链接,所以我只是将代码修改为:
var x=window.open();
x.document.open().write('content');
x.close();
此外,要强制它到新窗口(而不是新选项卡),请给出第一行尺寸。但它必须是第三个论点。所以将第一行改为:
var x=window.open('','','width=600, height=600');
答案 3 :(得分:3)
尝试:
var x = window.open('', '', 'location=no,toolbar=0');
x.document.body.innerHTML = 'content';
答案 4 :(得分:0)
var codeContents = $("#contentsfornewWindow").html()
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');
win.document.body.innerHTML = codeContents;
VS:
win.document.write(codeContents);
我注意到是否有iframe之类的YouTube影片,win.document.write
会加载iframe,而document.body.innerHTML
不会!