2012-09-20 3 views
1

실행을 중지 (반환하지 않음)하는 방법이 있습니다. UI에 의해 트리거 된 이벤트를 기다린 다음 해당 메소드를 계속 진행합니다. 내가 뭘 어떻게자바 스크립트 실행을 차단하고 UI에서 트리거 된 이벤트 대기

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(details) { 

     var newHeaders; 
     //I need to stop here, wait on some user event, update the `newHeaders` variable with 
     //the content set by the user on the page 

     return {requestHeaders:newHeaders}; 
    }, 
    {urls: ["<all_urls>"]}, 
    ["blocking", "requestHeaders"] 
); 

: intercepts requests는, HTML에서 사용자의 입력에 의해을 수정하는 크롬 플러그인을 개발 한 후 요청을 보냅니다. 문서를 기반으로 메서드에서 직접 수정하여 반환해야한다고 가정했습니다. 에서

워드 프로세서 : http://developer.chrome.com/trunk/extensions/webRequest.html 말 :

+1

JavaScript 자체에는 실행을 중지 할 수있는 기능이 없습니다. 왜 함수를 빠져 나가서 이벤트가 다른 함수 호출을 트리거 할 때까지 기다리지 않는 것이 좋을까요? –

+0

@Diodeus 실제로'alert' 나'prompt'와 같은 차단 기능이 있습니다. –

답변

0

나는 이것이 올바른 방향을 제시해 주었으면한다

이 옵션 opt_extraInfoSpec 배열은 문자열 '차단'(특정 이벤트에 대한 허용) 가 포함 된 경우 , 콜백 함수는 동기식으로 처리됩니다. 즉, 콜백 함수가 반환 될 때까지 요청이 차단되었습니다. 이 경우 콜백은 요청의 추가 수명주기를 결정하는 BlockingResponse 인 을 반환 할 수 있습니다. 컨텍스트에 따라이 응답을 사용하면 요청을 리디렉션하거나 (onBeforeRequest), 요청을 취소하거나 (onBeforeSendHeaders, onHeadersReceived) 헤더를 수정하거나 인증 자격 증명 (onAuthRequired)을 제공하거나 취소 할 수 있습니다.

내 생각에 "차단"을 지정한 다음 사용자로부터 정보를 수집 할 수 있습니다.

+0

고맙습니다. 저도 읽어 보았습니다. 그러나 구현 된 코드 샘플은 해당 기능과 관련하여 제한되어 있으므로 구현 방법을 이해하지 못했습니다. –

관련 문제