サーバー側で生成された JS ファイルが HTML ヘッドにリンクされています。
これを使用して、PHP スクリプト内の任意の場所から head タグにスクリプトを動的に挿入できるようにします。
JSコードを渡すことができるグローバルなアクセス可能なオブジェクトがあり、キーを使用してセッションに保存し、キーをHTMLフレームテンプレートに挿入します。次に、ブラウザーは、セッションから出力する動的スクリプトをロードして、保存されたスクリプトをロードします保管所。
これは、Firefox、Chrome、さらには IE でも正常に機能しますが、Opera では機能しません。
Opera では、約 10 回のリロード試行のうち、スクリプトが実行されるのは 1 回だけです。
現在、動的に生成されたすべての JS コードは、jQuery DOM Ready イベント内にあります。これは、私が考える問題に関連している可能性があります。
AJAX を使用して動的スクリプトをロードし、それを評価すると、この問題は確実に解決されますが、頭に直接スクリプトを入れずに、明確な HTML 出力が必要です。テンプレート エンジンはスクリプトのセッション ストレージ キーを HTML フレーム テンプレートに挿入する必要があるため、リンクされた静的スクリプトからこのような読み込みと評価を行うことはできません。
---EDIT--- 動的スクリプト出力:
$(function(){
//Calls to some jQuery Plugins on class and id selectors (on some reloads getting executed, but mostly not)
});
ドム:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- CSS Links, Meta tags -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<!--jQuery Plugins External Script tags-->
<script src="http://[MY_DOMAIN]/dynamic.js/[JS_STORAGE_KEY(MD5)]"></script>
</head>
<body>
<!-- VALID HTML5 CODE -->
</body>
</html>
---EDIT 2--- 問題の原因を見つけたかもしれません: Opera は外部スクリプトを複数回要求します。詳細については、私の最後のコメントを参照してください。ところで、そうであれば、特定の状況や状況での帯域幅の使用に関しても非常に懸念されます。