19

2 つのファイルがあります:index.htmlprint.html

print.html最初のものには、単純なコマンドを使用して開くボタンが含まれています。

window.open("print.html", "_blank", "menubar=yes,toolbar=yes,status,scrollbars,resizable");

print.html印刷プレビュー ダイアログを開くボタンが 1 つだけ含まれています。

<button onclick="window.print();">

この問題は、印刷プレビュー ダイアログを開いたときに発生します。この場合、すべてのアクションindex.html(つまり、ajax 要求を開始する他のファイル) は一時的にブロックされ、キューに入れられます。プレビューが閉じられている場合にのみ、ブラウザはすべてのリクエストを起動します。

Google Chrome(24.0.1312.52m)でしか見れません。

これが Chrome のバグであることを確認できる人はいますか?

4

4 に答える 4

1

サーバーが ORIGIN ヘッダーを追加していません。.htaccess に追加する必要があります。例えば:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

または、print.html の PHP に追加することもできます (html ファイルで PHP を使用できる場合)。

header ("Access-Control-Allow-Origin: *");
header ("Access-Control-Allow-Headers: origin, x-requested-with, content-type");
header ("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
于 2014-07-22T08:05:44.960 に答える
0

Chrome でも同様の問題がありました。セキュリティ ポリシーにより、ローカル ファイルにアクセスできません。AJAX 呼び出しを行っているときに、このエラーが発生します

XMLHttpRequest cannot load file:///*. Origin null is not allowed by Access-Control-Allow-Origin.

私が知っていることから、次のパラメーターを使用して Chrome を起動する必要があります。

--allow-file-access-from-files

それが役に立てば幸い。

于 2013-02-11T13:47:54.273 に答える