5

バックグラウンド

  • 数年前、onerrorハンドラーとクロス オリジン スクリプト タグに問題がありました。詳細については、 .

  • 主要なブラウザで問題が修正されました。

  • これが CDNed スクリプトからクライアント側のエラーを検出する際の問題であることを知って、彼らはこれらの制約をいくらか緩和しました ( firefoxwebkit )

実際の質問

私は localhost で簡単なページをホストしており、別のドメイン (「sitea」など) からのスクリプトを含めています。HTML は次のようになります。

<html>
<head>
<script>window.onerror = function(e, f, g) { console.log('err',e,f,g) }</script>
</head>
<body><h2>test</h2>
<script src='http://siteA:8081/one.js' crossorigin='anonymous'></script>
</body>
</html>

スクリプトsiteAはこれを行います:

var foo; foo.bar;

bar が定義されていないため、明らかにスローされます。

残念ながら、チケットに記載されているように、行 0 で「スクリプト エラー」がまだ発生しています。

私がいることに注意してください:

  • クロスドメイン属性の設定。

  • リクエストの「Origin」ヘッダーを見る

  • Access-Control-Allow-Origin ヘッダーを「*」に設定し、開発 Web ツールで確認します。

Firefox と Chrome の両方で試しましたが、うまくいきません。誰にも理由がありますか?

4

1 に答える 1

3

Firefox 20 で動作し、Chromeはバージョン 30 のクロスオリジン エラー レポートをサポートしています

タグに属性があるOrigin:ため、実際にブラウザーがヘッダーを送信することがわかります。また、サーバーが.<script>crossoriginAccess-Control-Allow-Origin: *

于 2013-06-19T21:36:49.763 に答える