0
하나의 페이지에 여러 콘텐츠 스크립트가 삽입 된 확장 프로그램이있는 경우 모든 콘텐츠 스크립트로 브로드 캐스팅하지 않고 페이지의 특정 콘텐츠 스크립트를 처리 할 수 있습니까? 감사!크롬의 개별 콘텐츠 스크립트 주소 지정
하나의 페이지에 여러 콘텐츠 스크립트가 삽입 된 확장 프로그램이있는 경우 모든 콘텐츠 스크립트로 브로드 캐스팅하지 않고 페이지의 특정 콘텐츠 스크립트를 처리 할 수 있습니까? 감사!크롬의 개별 콘텐츠 스크립트 주소 지정
내가 제대로 이해하면, 당신은 당신의 manifest.json
에서 정의하는 대신 background.js
에 콘텐츠 스크립트를 실행할 수 있습니다 : A와 메시지를 보낼 수있는 방법이 있으므로
if (condition) {
chrome.tabs.executeScript(null, { file: 'contentscript1.js' });
} else {
chrome.tabs.executeScript(null, { file: 'contentscript2.js' });
}
감사합니다, 나는이 더 의미 특정 시간에 특정 컨텐츠 스크립트를 실행하는 것이 아니라 페이지에서 이미 실행중인 수많은 컨텐츠 스크립트 중 특정 컨텐츠 스크립트를 사용하는 것입니다. – Batman
이것은 콘텐츠 스크립트의 논리에 따라 다릅니다. 모든 콘텐츠 스크립트는 메시지를 보낼 때 메시지를받습니다. 당신은 당신의 논리에 의해이 메시지로 무엇을 할 것인지를 지정해야합니다. 이러한 콘텐츠 스크립트는 서로 통신 할 수 있습니다 (예 : 전역 변수 또는 이벤트별로. –
그래서 특정 스크립트 실행을 직접 메시지로 보낼 방법이 없으므로 메시지가 모든 수신 대기 스크립트로 올바르게 브로드 캐스트됩니까? 나는 당신이 메시지를 걸러 낼 수 있다는 것을 알고 있으며, 나는 당신이 실행중인 내용 스크립트를 처리 할 수 있는지에 관심이있다. – Batman