1

誰かが以下の状況について新しい考えを流せるといいのですが、以前に尋ねられた場合は申し訳ありません. 同様の状況は見つかりませんでした。

制御できない動的に生成されたページがあります。複数の iframe を追加し、ハイチャートを読み込む必要があります。test.html のコード:

<html>
    <html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script src="http://code.highcharts.com/highcharts.js"></script>
    <script src="http://code.highcharts.com/modules/exporting.js"></script>
    </head>
    <body>
    <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
    <script>
 ....

all.html のコード:

 <html>
<iframe id="one" src="test.html"></iframe>
<iframe id="two" src="test.html"></iframe>
</html>

質問:

1- 一般に、a <script src="some.js" /> が html に追加されているがページで使用されていない場合、ユーザーの Web ブラウザーにダウンロードされますか?

2-<script src="some.js" />同じメイン ページに異なる iframe を追加すると、iframe ごとにダウンロードされますか、それとも既に読み込まれていることが検出されますか?

<script src>3- をメイン ページに配置せず、すべての iframe でのダウンロードと最初のダウンロードのみを禁止するという問題を解決するにはどうすればよいですか? iframe は動的に構築されるため、いずれかの iframe に対して既にロードされているかどうかを確認するフラグを設定するのは困難です。

ユーザー側で 2 回読み込まれないようにする必要があります...つまり、ユーザー ブラウザーでファイルを 2 回ダウンロードしないようにします。ただし、上記のiframeを使用して、2回実行したい..はい。

どうもありがとう!

4

3 に答える 3

4

質問に順番に答えると…

  1. ページでスクリプト タグが「使用」されることはありません。スクリプト タグが html に存在する場合、そのファイルはダウンロード (またはキャッシュから取得) されて実行されます。

  2. 同じ URL を指す複数のスクリプト タグがある場合、ファイルは 1 回だけダウンロード (およびキャッシュ) されますが、複数回 (スクリプト タグごとに 1 回) 実行されます。

  3. スクリプトのロードと実行の違いを理解しているかどうかは、まだ明確ではありません。繰り返しロードするのを避けたいだけなら、ご安心ください。ブラウザがそれをカバーしてくれます。繰り返し実行したくない場合は、そのロジックのコードを記述し、スクリプトにフラグを設定して、まだ設定されていない場合にのみ実行する必要があります。そのため、some.js は次のようになります。

    if(!window.scriptHasRun) { window.scriptHasRun = true; // ここで何か役に立つことを 1 回だけ行います。}

于 2013-08-31T15:39:08.957 に答える
2

この質問は、Highcharts が 2 回目に実行されるとエラーをスローするという事実に関連していると思います。

彼の最上位ページには highcharts ライブラリが含まれているため、iFrame がライブラリも含む新しいページに移動すると、エラーがスローされ、グラフが失敗します...

于 2013-08-31T16:13:22.100 に答える