2016-06-05 2 views
0

현재, 일정한 시간 동안 (동기식으로) 특정 스크립트를 주입하려고합니다. 간단히 말하면, 나는 z 번 정도의 시간 동안 스크립트 xyz.js를 삽입 할 수 있기를 원한다.동기식 자바 스크립트 주입 루프 For

현재 스크립트에 하드 코딩 된 시간을 주입하는 코드가 있습니다. 이 코드는 다음과 같습니다

chrome.tabs.executeScript(tab.ib,{file: "inject.js"}, function(resp){ 
    chrome.tabs.executeScript(tab.ib,{file: "inject.js"}, function(resp){ 
    }); 
}); 

를이 방법을, 나는 단순히 둥지 이전 주사의 콜백 함수에 주사를. 그러나 여러 개의 분사를 동시에 호출하는이 방법은 하드 코딩해야합니다. 결과적으로이 동기 분사 시퀀스를 가변적으로 수행 할 수 없습니다.

다양한 양의 코드를 동시에 동기식으로 삽입 할 수 있도록 코드를 변경하려면 어떻게해야합니까?

주 : 이러한 주입은 웹 페이지의 조건에 따라 내용을 다르게 실행하기 때문에 동일한 파일을 주입합니다. 또한 파일의 동작은 이전 파일 삽입에 의존하기 때문에 동기화되어야합니다. 마지막으로, 프로그램이 실행되는 방식 때문에 단순히 하나의 큰 파일로 결합 될 수 없습니다.

답변

1

여기에 재귀를 사용할 수 있습니다.

(function loop(n) { 
    if(n > 1) chrome.tabs.executeScript(tab.ib,{file: "inject.js"}, function(resp){ 
    loop(n - 1); 
    }); 
})(10);