次のように、ヘッダーにスクリプトを呼び出すページがあります。
<script type="text/javascript" src="http://www.discoverfire.net/analytics/l/a.js"></script>
(このスクリプトはステージングドメインとしてローカルでDNSされているため、ロードできないことに注意してください)
とてもシンプル。
Firefox、IE、Chromeはすべて、この基本的なスクエアワン機能に問題はありません。
ただし、Operaはスクリプトのロードを拒否します。その中の変数または関数はすべて「未定義」であり、トンボでは、スクリプトタグはDOMに表示されますが、「スクリプト」タブには「スクリプトファイルが見つかりません」と表示されます。
私はグーグルに行ってランダムなページを見つけました、それらの外部の.jsファイルはうまく機能しているようです。
Operaが私を嫌う理由はありますか? 私が見逃しているセキュリティ/JavaScriptのものはありますか?
関連するかもしれないが、実際には違いがないはずのいくつかのこと:
- スクリプトはページとは異なるドメインにあります。
- このスクリプトは、私のローカルネットワークでのみ利用できます。ドメインは、ステージングのためにローカルでDNSされ、ネットワークの外部から別の場所を指します。Operaには外部DNSサーバーを密かに使用する設定がありますか?
- スクリプトは、私が持っている他のすべてのブラウザで動作します。
- 問題はスクリプトの内容にはありません。アラート付きの1行に減らしましたが、Operaでは機能しません。
アップデート:
OK、問題はOperaがドメインをどのように扱うかということのようです。
スクリプトを他のいくつかのドメインに移動しましたが、問題なく機能します。ローカルにDNSされたドメインのいくつかのパスに移動しましたが、そのドメインのどこからでも機能しません。
これは、Operaが何らかの理由でこのドメインからスクリプトをロードできない、またはロードしないという問題があると私に信じさせます。
不思議なことに、ドメインからページやその他のリソースをロードするのに問題はないようです。問題は.jsファイルにのみあります。
ドメインは登録されていますが、パークされています。ステージング/テストに使用できるようにローカルでDNSを使用しましたが、JSセキュリティを使用してOperaを混乱させる可能性があります。
しかし、私は間違っている可能性があります-私は本当にわかりません。他の誰かが持っているなら、私はそれを聞きたいです。
アップデート2:
Dragonflyとエラーコンソール/開発ツールに関しては、スクリプトについては何も言っていません。スクリプトから存在する必要のある変数と関数には未定義の変数エラーがたくさんありますが、それ以外はエラーはありません。奇妙なことに、スクリプトタグはDOMMに表示されますが、[スクリプト]タブをクリックすると、「スクリプトが見つかりません」と表示されます。
アップデート3:
ブロックされたコンテンツはないので、少なくともその設定を除外することができます。