크롬 확장 프로그램을 만들려고합니다. 사용자가 내 확장 프로그램의 아이콘 (browserAction)을 클릭하면 콘텐츠 스크립트가 열려있는 페이지의 본문 (현재 탭)에 추가 div를 추가합니다. 그것은 구글의 검색 페이지와 유튜브를 제외한 모든 사이트에서 잘 작동합니다. 나는 어떤 오류 메시지 나 아무것도 얻지 않고있다. 그것은 어떤 응답도주지 않을 것입니다. 내가 테스트 목적으로 경고를 넣었습니다chrome 확장 프로그램의 콘텐츠 스크립트가 google, youtube 페이지에서 작동하지 않습니다.
alert('sdsd');
$('body').append("<div id='popup'>My extension name</div>");
:
이것은 content.js 내 코드입니다. 따라서 확장 기능을 토글하면 div를 본문에 추가하는 경고 메시지가 표시되어야합니다. 그러나이 2 개의 위치를 위해 실 거예요.
무엇이 잘못 될 수 있습니까?
매니페스트
{
"name": "My first extension",
"version": "1.0",
"background": { "scripts": ["background.js"] },
"content_scripts": [{
"all_frames": true,
"css": ["style.css"],
"matches": ["http://*/*","https://*/*"]
}],
"permissions": [ "tabs","http://*/*" ],
"browser_action": { "name": "test" },
"manifest_version": 2
}
background.js
chrome.browserAction.onClicked.addListener(function(tab){
chrome.tabs.executeScript(null,{file:"jquery.min.js"},function(){
chrome.tabs.executeScript(null,{file:"content.js"});
});
});
나는 jQuery.noConflict()를 시도했다. 그러나 사용하지 마십시오. 또한 간단한 js 경고가 작동하지 않는 이유는 무엇입니까? – Ivin
스크립트를 어떻게 실행하고 있습니까? 주사하고 있니? 질문에 당신의 매니페스트를 쓸 수 있습니까? –
이제 jquery.min.js와 content.js가 모두 manifest의 content_scripts 섹션에 나열됩니다. 하지만 이제 content.js가 페이지로드시 실행 중입니다. content.js가 onClicked 이벤트에서만 실행되도록 background.js를 어떻게 편집해야합니까?저 또한 저를 도울 수 있겠습니까? – Ivin