这就是我想要做的:
- 用户点击打印按钮;
- 这调用函数,它调用ajax来获取要打印的文本;
- 将打开一个新窗口并将文本写入其中。
窗口和打印是这样处理的:
my_text = "hello";
newWin= window.open();
newWin.document.write(my_text);
newWin.document.close();
newWin.focus();
newWin.print();
newWin.close();
这工作正常。我的问题是如何获得my_text
. 我试图将上面的代码放在 ajax 调用中:
$.ajax({
type: "GET", url: the_url, data: {},
success: function(data){
newWin= window.open();
newWin.document.write(data);
newWin.document.close();
newWin.focus();
newWin.print();
newWin.close();
}
,error: function() {
}
});
但是,这会导致新窗口被视为弹出窗口,并被弹出窗口阻止程序捕获。如果我选择查看弹出消息,则它已正确填写文本。我尝试先打开窗口,但没有写入任何内容。