2014-07-13 3 views
0

iframe이 있습니다. iframe의 URL을 모니터링하는 Javascript에서 루프를 만들고 싶습니다. 그래서 내가 원하는 것은 다음과 같습니다 :자바 스크립트의 루프/업데이트 대상 객체

while(1){ 
    if(iframe.src == "foo"){ 
     iframe.src = "bar" 
    } 
} 

무엇이 올바른 방법입니까? (jQuery 등이 없으면 이상적입니까)?

+0

루프를 사용하면 안됩니다. 청취자를 붙일 수있는 어떤 종류의 사건이 없는지 찾아보십시오. 이러한 루프는 브라우저 전체를 망칠 것입니다. – MightyPork

+0

나는 while (1) {...}을 피할 것이다 ..... – 1252748

+0

분명히하기 위해,()가 이것을하는 올바른 방법은 아니지만. 그냥 내가 원하는 기능을 보여 주려고. – Chris

답변

0

당신은 당신이 그것을 중지해야 무한 루프 수동 브레이크를 사용하는 경우 :

while (1) { 
    if(...) { 
     ... 
     break; //exit loop 
    } 
} 

이 당신이 물어보고 싶은게 무엇입니까? 다른 질문은 언제든지 물어보십시오.

편집 :

필요한 경우 내가 이벤트를 트리거를 수신 할 수있는 자신의 이벤트와 함수를 만드는 선택할 것 솔루션 :

var iframeSrcChangeEvt = new Event("iframeSrcChanged"); //create event 
document.querySelector("iframe").addEventListener("iframeSrcChanged",function() { //add event listener to the iframe 
    this.src = "bar"; //change src as you need it 
    this.removeEventListener("iframeSrcChanged"); //remove listener if fired 
    clearInterval(monitorIframe); //stop monitoring the iframe 
}); 

var monitorIframe = setInterval(function() { //set an interval to monitor the iframe 
    var iframe = document.querySelector("iframe"); 
    if(iframe.src == "foo") { 
     iframe.dispatchEvent(iframeSrcCHangeEvt); //fire event 
    } 
},500); 

내가이 솔루션은 당신 때문에 더 좋은 생각 해당 코드를 적용 할 경우 하나 이상의 iframe을 추가하여 모니터링 할 수 있습니다.

+0

내 질문은 것 같아요, 상태를 변경 개체를 모니터링하는 가장 좋은 방법은 무엇입니까? – Chris

+0

물론 루프가 아닙니다. – MightyPork

+0

나는 내 눈이 더 좋은 다른 해결책을 제안했다. 내 대답 좀 봐. – SVSchmidt

관련 문제