次のように、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 があることを確認する必要があります。