2012-08-24 4 views
8

친구, 내 문제는 내 페이지 simeltaneously 때문에 모든 부하의로드 정말 느린 것입니다. RSS 피드를 가져올 때 "기사"버튼을 클릭하면 내부에있는 모달이 나타납니다. 문제는 모든 것이 simeltaneously로드합니다. http://daisy.camorada.com/<iframes> 버튼을 클릭 할 때만로드 할 수 있습니까?

내가 페이지를 열 때 내가 iframe이 부하를 추측하기 때문에 작동하지 않습니다 만에 SRC를 삽입 시도 : 여기

는 사이트입니다.

<button class='btn btn-primary' id='miguel'>TEST ME NOW</button> 
     <button class='btn btn-primary' id='jamison'>jamison</button> 
     <div id="yoyoyo"> 
      </div> 
      <iframe id="gogo"> 
       </iframe> 

<script> 
     $('#miguel').on('click', function() { 
      alert('clicked');   
      $('#gogogo').attr('href', 'http://www.google.com'); 

     }); 
    </script> 
    <script> 
     $('#jamison').on('click', function() { 
      alert('clicked JAMISON');  
      $("#yoyoyo").html("<h1>HELLO J</h1><br><iframe class='full-iframe' href='http://news.yahoo.com/three-killed-tribal-clash-libya-001717827.html'></iframe>"); 

     }); 

    </script> 

답변

26

HTML : 당신의 jQuery를에

<iframe id="myiFrame" data-src="http://my.url" src="about:blank"> 
</iframe> 

: 당신은 ... 하나 개의 버튼을 클릭 할 때 모든 iframe을로드하기를 원한다면

$("button").click(function(){ 
    var iframe = $("#myiFrame"); 
    iframe.attr("src", iframe.data("src")); 
}); 

또는 확인 그들 모두는 data-src="your.url"이 이 같은 다음 루프를 통해 속성과 :

$("button").click(function(){ 
    $("iframe").each(function(){ 
     $(this).attr("src", $(this).data("src")); 
    }); 
}); 
+0

감사합니다 애런. 나는 daisy.camorada.com/test.php에서 코드를 다시 만들었습니다. 불행히도 제대로 작동하지 않습니다. 아이디어? –

+1

@AlexSpencer - 코드가 완벽합니다. 유일한 것은 iframe에 임베드 될 수 없습니다. 다른 사이트를 사용해보십시오! (예 : yahoo.com에 대한) – ahren

+0

@ahren 이상의 iframe이있을 경우 내가 그것을 밖으로 작동하지만 별도로 트리거해야 할 방법 . 두 개의 서로 다른 단추 및 두 개의 다른 iframe. – Lemdor

6

먼저, $('#gogogo') 요소가 없습니다. 프레임은 #gogo입니다. 둘째

, 당신은 그냥 HTML이 아닌 URL로 설정하려면이 src하지 href

$("#myframe").attr('src', 'http://site.com'); 

의 설정을이를 사용

$("#myframe").contents().find('html').html("hello"); 

Here's a demo

+0

sachleen, 나는 당신의 방법을 여기에서 시도했다 : http://daisy.camorada.com/test2.php 아무 소용이 없다. iframe의 src를 동적으로 변경할 수 있는지 확인하고