2010-05-05 2 views
1

Google 크롬 확장 프로그램에서 작업 중이며 팝업 HTML 내에서로드 된 javascript 파일 내에서 함수를 호출하기 위해 HTML을 가져오고 싶습니다. 내 매니페스트는 다음과 같습니다CONTENT_SCRIPT JS 호출 BROWSER_ACTION 팝업 HTML

{ 
    "name": "Extension", 
    "version": "1.0", 
    "description": "Extension", 
    "browser_action": { 
     "default_icon": "icon.png", 
     "default_title": "Ext", 
     "popup": "popup.html" 
    }, 
    "content_scripts": [{ 
     "matches": ["http://*/*"], 
     "css": ["ext.css"], 
     "js": ["jquery.js","scripts.js"] 
    }], 
    "permissions": [ 
     "http://*/*" 
    ] 
} 

당신은 내가 내 자신의 개인적인 로직에 대한 또 다른 자바 스크립트 파일과 함께, jQuery를의 로컬 복사본에로드하고 있습니다 볼 수 있듯이. 경고 "푸"언제가 내가 값을 변경 -이 일을하지 않는

$(function(){ 
    $("#values").change(function(){ 
    alert("Foo"); 
    }); 
}); 

내가 비록 기대하는 것은 :

<select id="values"> 
    <option>Foo</option> 
    <option>Bar</option> 
</select> 

그리고 내 scripts.js 파일 추적의 내용을 : 내 팝업 문서는 다음과 같습니다 내 팝업 HTML. 이 두 파일을 서로 어떻게 통신 할 수 있습니까? 아니면 전혀 할 수 있습니까?

+0

js 디버거를 사용해 보셨습니까? 오류가 있습니까? –

+0

@ Nikita 크롬 콘솔을 열었지만 JS 오류를보고하지 않습니다. 나는 그것이 확장 내에서 오류를보고 할 지 확신하지 못한다. – Aristotle

답변

0

콘텐츠 스크립트는로드 된 페이지의 컨텍스트에서 실행되므로 #values을 찾을 수 있습니다. 콘텐츠 파일과 나머지 확장 프로그램간에 을 직접 번으로 전송할 수 없습니다. messaging API (해당 페이지에서 바로 사용할 수있는 예)을 사용해야합니다.

관련 문제