2012-05-19 4 views
0

나는 Facebook 용 크롬 확장 프로그램을 작성 중입니다. 페이 스북 (Facebook)을 사용하는 경우 뉴스 피드/타임 라인/프로파일 하단으로 스크롤하면 더 많은 게시물이 표시된다는 것을 알고 있습니다. 확장 기능은 실제로 "좋아요"버튼 옆에 버튼을 추가합니다. 따라서 해당 버튼을 추가 할 게시물이 더 있는지 확인해야합니다.웹 페이지가 수정되었는지 확인하십시오.

지금 페이지가 수정되었는지 확인하려면 setInterval(function(){},2000)을 사용하십시오. 사용자가 버튼을 클릭 할 때 함수를 실행하려고합니다. 하지만이 함수는 setInterval() 내부에 넣으면 작동하지 않습니다 - 코더가 방금 편집합니다

루프를 사용하지 않고 웹 페이지가 수정되었는지 어떻게 확인할 수 있습니까?

예 : 향후

$(document).ready(function(){ 
    window.setInterval(function(){ 
      $(".UIActionLinks").find(".dot").css('display','none'); 
      $(".UIActionLinks").find(".taheles_link").css('display','none'); 
      $(".miniActionList").find(".dot").css('display','none'); 
      $(".miniActionList").find(".taheles_link").css('display','none'); 
       //only this function doesn't work: 
      $(".taheles_link").click(function(){ 
      $(".taheles_default_message").hide(); 
      $(".taheles_saving_message").show(); 
      }); 
       //end 
      $(".like_link").after('<span class="dot"> · </span><button class="taheles_link stat_elem as_link" title="תגיד תכל&acute;ס" type="submit" name="taheles" onclick="apply_taheles()" data-ft="{&quot;tn&quot;:&quot;&gt;&quot;,&quot;type&quot;:22}"><span class="taheles_default_message">תכל&acute;ס</span><span class="taheles_saving_message">לא תכלס</span></button>'); 
      $(".taheles_saving_message").hide(); 
    }, 2000); 
}); 

이 확장 그래서 setInterval() 나를 위해 더 많은 문제를 만들 수 AJAX를 사용합니다.

+0

당신이 "하여 setInterval()을 실행하는 동안 더 많은 기능을 실행하려면"무엇을 의미합니까? 나는 당신이하려고하는 것이 무엇인지 알지 못합니다. 어쩌면 예제가 우리에게 도움이 될 것입니다. – koenpeters

+0

사용자가 버튼을 클릭 할 때 함수를 실행하려고합니다. 그러나이 함수는 외부 (또는 내부)에 놓으면 작동하지 않습니다. –

+0

따라서 '클릭'이벤트에 연결하는 클릭 핸들러 함수가 있지만 클릭 할 때 실행되지는 않습니다. 그것? – koenpeters

답변

0

올바르게 이해하면 페이지의 DOM이 변경 될 때 알림을 받고 싶습니다. 그리고 당신은 setInterval() 함수를 사용하지 않고 이것을하고 싶습니다.

문제가 페이지로드 후 생성되는 요소에 첨부 이벤트 처리기 내에 있기 때문에 jquery.live 이벤트 첨부 기술을 확인하는 것이 좋습니다. 나는 그것이 당신의 문제를 해결할 것이라고 생각합니다.

일반적으로 페이지에서 돌연변이 이벤트를 발생 시키길 원합니다. 당신이 찾고있는 것일 수도있는 mutation event spec가 있습니다. 다음은 유용한 링크입니다.

  1. http://tobiasz123.wordpress.com/2009/01/19/utilizing-mutation-events-for-automatic-and-persistent-event-attaching/

  2. Detect element content changes with jQuery

+0

중요 업데이트 : 돌연변이 이벤트를 사용하는 모든 사람은 지금 돌연변이 관찰자로 전환해야합니다. [질문] (http://stackoverflow.com/questions/11425209/are-dom-mutation-observers-slower-than-dom-mutation-events), [Mozilla reference] (https://developer.mozilla.org)를 참조하십시오./ko-US/docs/DOM/MutationObserver? redirectlocale = en-US & redirectslug = DOM % 2FDOM_Mutation_Observers) –

0
$(document).ready(function(){ 
    setInterval('fun()',5000); 
    fun(); 
}); 
function fun() 
{ 
    alert(11) 
} 
관련 문제