2010-04-23 2 views
1

첫 번째 크롬 확장 프로그램을 작성 중이며 현재 열린 탭에 변수를 전달하고 DOM을 조작하려고합니다.크롬 확장자를 통해 현재 탭에 변수 전달

내 확장 버튼을 가지고 있으며, 클릭하면,이 코드를 실행 :

chrome.tabs.getSelected(null, function(tab) { 
chrome.tabs.executeScript(tab.id, { 
    file: 'tabscript.js' 
}); 
}); 

이 잘 작동하지만 내가이에 사용할 수 있도록 tabscript.js에 변수를 전달하는 방법을 볼을 열린 탭.

답변

4

변수를 전달해야하는 대상은 무엇입니까? 스크립트에서 호출하는 함수가 있습니까?

DOM 만 자바 스크립트 페이지에 액세스 할 수 없다는 점에 유의해야합니다.

특정 매개 변수로 호출해야하는 특정 기능이 있다면 content scriptsmessage passing을 조사해야합니다.

콘텐츠 스크립트는 모든 페이지로드 (또는 페이지 선택)에서 실행될 수 있으며 메시지 전달을 사용하여 확장 단추에서 콘텐츠 스크립트의 기능으로 메시지를 보낼 수 있습니다.

Alternativly하고 원래의 아이디어에 가까운 당신은 다음과 같은 사용하여 런타임에 호출 할 기능을 구성 할 수 있습니다 :

chrome.tabs.getSelected(null, function(tab) { 
chrome.tabs.executeScript(tab.id, { 
    code: 'function(){ ...... your code built dynamically ......}' 
}); 
}); 
+0

당신은 그 코드가 작동하는지입니까? 시도했지만 function() {alert ('a'); } 경고 ('a')와 함께 작동하지 않습니다. 혼자 그렇습니다. 나는 원래의 질문과 비슷한 것을 성취하려고 노력하고있다. – user979390

+0

http://stackoverflow.com/questions/10052259/accessing-global-object-from-content-script-in-chrome-extension –

관련 문제