0

そのため、表示する必要があるWebサービスによって提供される大量のhtmlがあります。問題は、この html に YouTube ビデオへの iframe リンクが多数含まれていることが非常に多いことです。数えてみると20個くらい入っていました。

これらは少量の html ではなく、ここで効率を比較検討しています。現在、これらの 20 個の iframe により、アプリの速度が低下してクロールしています。

より効率的なものは何ですか?iframe の読み込みを停止する (どうすればよいかわかりません)

-また-

HTML を解析して iframe を削除し、それらをその中のビデオへのリンクに置き換えることで、ユーザーはビデオを開くことができますが、iframe について心配する必要はありません。これは、表示される前に行うことができ、読み込み時間が少し長くなる可能性がありますが、http 呼び出しを減らすことができます (と思います)。

-また-

助言がありますか?

ありがとう

(また、私はJQueryを使用しておらず、利用できません)

4

1 に答える 1

0

だからここに私が見つけた方法がいくぶんうまくいく. 唯一の問題は、テーブル内に深くネストされた iframe で気付いたことですが、常にそれらを見つけるとは限りません。別の方法がある場合はお知らせください。

parseMessage: function(json) {
      var container = document.createElement('div');
      container.id = 'tempContainer';
      document.body.appendChild(container);
      container.innerHTML = json[4];
      var iframes = container.getElementsByTagName("iframe");
      if (iframes.length != 0)
      {
        for (var a = 0; a < iframes.length; a += 1) {
            var sourcetemp = iframes[a].src;
            var parent = iframes[a].parentNode;
            var newNode = document.createElement('a');
            newNode.href = sourcetemp;
            newNode.innerHTML = sourcetemp;
            parent.removeChild(iframes[a]);
            parent.appendChild(newNode);
        }
      }
      document.body.removeChild(container);
      return container.innerHTML;
      //mydiv = json[4].getElementById('FirstDiv');
      //while ( mydiv.firstChild ) mydiv.removeChild( mydiv.firstChild );
  },
于 2012-09-21T18:43:12.760 に答える