1

アプリケーションのすべてのhtmlページに共通するスクリプトがいくつかあります。このファイルをcommonfunctions.jsと呼びます。各htmlページは、このjsファイル(サーバーから取得)の最終変更日を追加するとともに、アプリケーション内を移動するときにロードされます。Firebugは、ロードされたスクリプトのリストとeval / seq /#に毎回ファイルを追加しています(#は、何らかの理由でこのファイルが7からロードされた回数です)。たとえば、one.html、two.html、three.htmlという3つのページがあり、それぞれに次のコード行があるとします。

    <script type="text/javascript" src="commonfunctions.js?mod=11/33/2012"></script>

one.html-> two.html-> one.html-> three.htmlから移動すると、Firebugはロードされたスクリプトを次のようにリストします。

commonfunctions.js?mod = 11/33/2012 commonfunctions.js?mod =
11/33/2012 / eval / seq / 7
commonfunctions.js?mod = 11/33/2012 / eval / seq / 8
commonfunctions.js?mod = 11/33/2012 / eval / seq / 9

さらに3ページにアクセスすると、次のようになります。

なぜこれが起こっているのですか、それを止める方法はありますか?eval()またはイベント属性が原因でURLがわからない場合、firebugが独自のURLを作成する可能性があることを読みました。ただし、これらのスクリプトは通常のタグを介してロードされています。

これがブラウザがコンパイルされ、同じスクリプトの複数のコピーを実行または保存していることを意味するかどうかわからないため、心配しています。どちらの条件でも非常に無駄です。

4

1 に答える 1

0

スクリプトはscriptタグを介してロードされた可能性がありますが、commonfunctions.js内のどこかでが呼び出されeval()ています。または3つ、明らかに。

于 2013-03-22T20:38:56.930 に答える