2012-09-20 2 views
0

그래서 많은 양의 html이 표시되어야하는 웹 서비스에 의해 처리됩니다. 문제는이 HTML이 매우 자주 YouTube 동영상에 대한 많은 iframe 링크를 포함하고 있다는 것입니다. 나는 약 20 개가 포함 된 것을 계산했습니다.동적 HTML에서 iframe을 효율적으로 처리하는 방법

이들은 적은 양의 html이 아니며 여기서 효율성을 높이려고합니다. 지금 그 20 개의 iframe은 앱을 느리게 움직여 크롤링합니다.

무엇이 더 효율적입니까? 따라서를 허용하는 HTML을 통해 (내가하는 방법을 확실 해요)로드에서 iframe을

- 또는

구문 분석을 중지 및 iframe을 제거하고 그 안에 비디오에 대한 링크로 대체 사용자가 동영상을 열지 만 iframe에 대해 걱정할 필요가 없습니다. 이것은 그들이이 표시되고 약간의로드 시간을 증가시킬 수 있습니다 전에 수행 할 수 있지만, (내가 생각하는)

- 또는

어떤 제안 HTTP 호출을 줄일 것인가?

감사

(또한 내가 jQuery를 사용하고 있지 않다 않으며 가능) 그래서 여기

답변

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); 
    }, 
관련 문제