0

Javascript/HTML5 ベースのゲームをほぼ完成させました。Chrome を使用して、ローカル ファイル システムの HTML ページを開いてテストしました (どこにも何もアップロードしていません)。これを行うためにChromeのfile://プロトコルを使用しています。しかし、問題が発生しています... ゲームの開始時に、メニュー画面に移動する前に数秒間画像を表示します。キャンバスのピクセル データを取得してゲームを一時停止し、それを表示してから、十字線をカスタム ポインターとして使用して、全体に半透明の四角形を描画します。ただし、Chrome では DOM Security Exception 18 に関する問題が発生しています。"Unable to get image data from canvas because the canvas has been tainted by cross-origin data."

だから私はインターネットでいくつかの調査を行いましたが、これはChromeが画像がローカルファイルシステムから取得されたことを認識し、これをセキュリティエラーと見なすためであることが判明しました. この質問を参考にして、Cross-Origin Resource Sharing について調べてみましたが、すぐに迷子になりました。私は、質問の回答者が提案したように、を使用http://してテスト HTML ファイルを開く方がはるかに簡単だと考えました。localhostしかし、これを行う方法もわかりません。

Chrome を使用してゲームのテストを続けたいと思っています (Chrome からアクセスできる開発者ツールCtrl-Shift-Iは非常に貴重であることが証明されています)。そのため、3 つの解決策があると考えました。を使用してローカル ファイルを作成するhttp://か、画像データを JavaScript スクリプト ファイル (C の XPM ファイルなど) の変数として何らかの方法でハードコードします。最初の 2 つはどうすればよいかわかりません。3 番目は避けようとしています。

4

2 に答える 2

1

ローカル ファイル システムを使用して開発することは、まさにあなたが発見した理由から、一般的には良い考えではありません。このオプションを使用するにはlocalhost、PC に Web サーバーがインストールされている必要があります。必要なものをすべて提供する WAMP パッケージ (Windows、Apache、MysQL、PHP) については、Google を参照してください。

残念ながら、CORS は Web サーバーがある場合にのみ機能します。

[編集] もちろん、wampserver.com からWAMPサーバーを取得できます。

于 2013-06-17T03:16:09.730 に答える