2016-10-27 3 views
0

私は以下のようにブラウザでファイルプロトコルを使用してHTMLファイルを実行しています:クロスオリジンの問題

view-source:file:///var/www/html/project/storage/temp/screengrab/designer-1477570109.html 

これは、CSSファイルにで必要とされる完全ではなく、資産をロードしますフォントTTFまたはWOFFファイルのようなCSS、SVGグラデーションなど

私はコンソールにクロスオリジンの問題を参照してくださいが、私は以下のように私のメインのサービス提供PHPファイルにクロスオリジンのヘッダを設定しました:

header('Access-Control-Allow-Origin: *'); 

私は実行しているWebサーバーに組み込まれているPHPを実行していますhttp://localhost:8000

誰かがこのことを理解するために私を助けてくれますか?

答えて

0

file:///からのページは、彼らが孤立内のページとして実行AN HTML要素(のようなの一環として実行する基本的なネットワーク運用を超えていないネットワーク機能を持っていない、すべてので何の起源を持っていないので、あなたはfile:///からロードされたリソースのためのXHRリクエストを実行することはできません<link href="..."> or) `)。非常に明白なセキュリティ上の理由もあります:ディスク上のファイルが、HTML仕様で定義されているものを超えて、標準のDOM操作として定義されている任意のXHR要求を解決できる場合、単純な相対URLでディレクトリ内の他のファイルにアクセスできます。

file:///からテストする場合は、file:///の使用を中止し、代わりにファイルが存在するディレクトリのフルウェブサーバーを実行するか、ローカルホストのURLを使用してファイルにアクセスしてください1つのファイルをテストする必要がある場合に限り、1人のCLIサーバーを実行して実行します。あなたがJSを使用しているノードで、live-serverhttp-serverなどをインストールすることができます。

HTML/CSS/JS /などで作業しようとしている場合は、PythonとPHPにこのCLIのオプションがあります。 file:///とは一切関係がありません。ディスクにページを明示的にロードするだけです。

関連する問題