2012-01-25 4 views
1

chrome.tabs.onUpdated 이벤트에 리스너를 추가하여 새 탭을 열거 나 탭의 URL을 변경할 때 코드를 실행할 수 있다는 것을 알고 있습니다.AJAX 호출이 반환 될 때 고리가 있습니까?

그러나 나는 비슷한 이벤트/AJAX 호출이 반환 될 때 코드를 실행할 수 있도록들을 수있는 후크가 있는지 궁금합니다.

AJAX를 통해 특정 텍스트가 나타나는지 확인하려면 웹 페이지를 3 초마다 확인해야하기 때문에 묻습니다. 따라서 기본적으로 페이지를 폴링해야합니다. 분명히 페이지를 폴링 할 필요가 없다면 AJAX 호출이 반환 될 때만 코드를 실행할 수 있다면 스캔을해야 할 때가 더 효율적일 것입니다.

여기에 후크가 있습니까? 아니면 이것도 사용하고 있습니까? 아니면 페이지를 폴링해야합니까?

+0

onreadystatechange 핸들러가 호출 할 수 있도록 콜백 함수를 구성 할 수 있습니다. – dave

답변

0

해당 콜백은 해당 아약스 이벤트를 호출 한 것과 동일한 자바 스크립트에 의해 실행됩니다. 일반적으로 ajax 콜백 메소드라고합니다. jQuery를에

의 :

Mootools의에서
$.ajax({method: "GET", url: 'some url' }).complete(function() { //do your function here }); 

의 :

평범한 구식 자바 스크립트에서
new Request.JSON({ method: "GET", url: 'someurl', onComplete: function() { //do your function here }); 

, 당신은 실행 함수로 XMLHttpRequest의 기능에 사용자 정의 콜백 기능에 작성해야 특정 아약스 상태 코드에 도달했을 때

+0

AJAX 함수를 작성하려고하지 않습니다. AJAX 호출을 '수신 대기'하므로 AJAX 호출이 반환되면 특정 텍스트의 페이지를 스캔 할 수 있습니다. –

+0

@ JohnMcDonald 제 실수. 당신이 묻고있는 걸 오해했습니다. – Kristian

1

experimental webRequest API이 있습니다. 그러면 b에 의해 만들어진 모든 HTTP 요청에 연결할 수 있습니다 rowser. 실험적이므로 chrome : // 플래그 또는 명령 줄에서 --enable-experimental-extension-apis 플래그를 활성화해야합니다.

+0

이 기능은 더 이상 실험적이지 않습니다! –

관련 문제