我有一个“打印机友好版本”类型的页面,它使用 ajax 调用在新窗口中打开页面,如下所示:
$.ajax({
type: "POST",
url: actionURL + qs, //qs is a query string
data: $(this).serialize(),
success: function (outputString) {
//$("#reportJSON").html(outputString).fadeIn();
var contentFromFirstPage = document.getElementById('reportArea').innerHTML;
var printContent = outputString;
var windowUrl = 'about:blank';
var uniqueName = new Date();
var windowName = 'Print' + uniqueName.getTime();
var printWindow = window.open("", windowName, 'scrollbars=1,menubar=1,height=800,width=600,resizable=1');
printWindow.focus();
printWindow.document.write(printContent);
printWindow.document.close();
}
}).error(function (response) {
alert("something went wrong here with PrintPreview!!!" + response);
});
但是我发现在新页面中,脚本没有正确加载,所以我得到一个"jQuery is undefined"
错误。但是,当我重新加载页面时,页面加载正常。这让我相信 jQuery 可能只是在页面呈现之后才加载。有人知道我该如何解决这个问题吗?基本上我只需要确保页面开头有 jQuery。