サーブレットで動的レポートを使用してPDFを生成し、コードを使用してjspページに出力しています
report.toPdf(response.getOutputStream());
Jqueryでは、PDFを新しいウィンドウにポップアップとしてロードしています
var newWindow = window.open(url, 'name', 'height=800,width=1000');
if (window.focus) {
newWindow.focus();
setTimeout(function() {
newWindow.print();
}, 2000);
}
しかし、これはエラーを返します
エラー: プロパティ "print" へのアクセスが拒否されました
Firefox のバージョンは 43.0 です。about:config で 'pdfjs.disabled' を 'true' に変更しようとしましたが、それは役に立ちません: それを設定して印刷しようとすると、ウィンドウがすぐに自動的に閉じ、pdf が自動保存され、コンソールにエラーが表示されます:
"NS_ERROR_NOT_AVAILABLE:"
.
更新された質問
問題は印刷だけではないことに気付き、ページから HTML コンテンツを取得しようとしました。
setTimeout(function() {
$(newwindow.document).ready(function() {
$(newwindow.document).find("body").on("load", alert($(newwindow.document).find("body").html()));
});
}, 2000);
エラーが返されました。
エラー: プロパティ "ドキュメント" へのアクセスが拒否されました
上記の両方のコードで setTimeout() 関数を削除すると、最初のコードは空白のページを出力し、2 番目の警告は空白になります。つまり、それまでにコンテンツがロードされていないと思います。