지금 크롬 확장 프로그램을 개발 중입니다. 그것의 목적을 제공하지만 문제는 콘텐츠 스크립트가 새로운 탭을 열고 사이트를 방문 할 때마다 독자적으로 실행된다는 것입니다. 문제는 콘텐츠 스크립트에 경고가 있다는 것입니다. & 새 사이트를 방문 할 때 경고가 발생하면 성가신 느낌이 들기 시작합니다.콘텐츠 스크립트가 자동으로로드됩니다.
현재 chrome.tabs.executeScript API를 사용하여 백그라운드 스크립트에서 콘텐츠 스크립트를 실행하고 있습니다. 그러나 나는 새 탭을 열 때마다 & 새 사이트를 방문 할 때 트리거되는 기준이 백그라운드 스크립트에서 충족되지 않았더라도 컨텐츠 스크립트의 코드가 자동으로 실행된다는 사실을 알고있었습니다.
정상적인 동작입니까? 이 모든 크롬 확장이 어떻게 작동할까요? 그렇다면이를 방지 할 수있는 방법이 있습니까? 지금은 컨텐츠 스크립트를 배경 스크립트로 선언했지만 여전히이 문제를 해결하고 싶습니다. 여기
"content_scripts" : [
{
"matches" : [ "<all_urls>"],
"js": ["raisealert.js"]
}
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
이 백그라운드 스크립트입니다 - background.js : manifest.json을 - 여기
내 매니페스트입니다
if(condition met)
chrome.tabs.executeScript(null, {
code: 'var config = ' + JSON.stringify(config)
}, function() {
chrome.tabs.executeScript(null, {file: 'raisealert.js'}, function() {
console.log("Alarm triggered");
});
});
그리고 여기에 콘텐츠 스크립트입니다 -
raisealert.jsalert("sample alert raised");
매니페스트에 선언하지 마십시오. 설명서에서 볼 수 있듯이 스크립트를 자동으로로드합니다. – wOxxOm
Ahhhh .... 정말 고마워. Dunno가 왜 그 부분을 놓쳤는가. 매니페스트의 확장에있는 모든 스크립트를 선언하는 것이 필수적이라고 생각했습니다. 답변으로 의견을 기재하면 동의 할 것입니다. 고마워요 @ wOxxOm – Piyush