chrome.tabs.executeScript()를 사용하여 삽입된 콘텐츠 스크립트에 매개변수 전달
chrome.tabs.executeScript를 사용하여 콘텐츠 스크립트 파일을 삽입하는 경우 ({file: "content.js"}), 콘텐츠 스크립트 파일 내에서 JavaScript에 매개변수를 어떻게 전달합니까?
매개변수 전달 오류
매개변수를 파일에 직접 전달할 수 없다는 점을 명확히 하는 것이 중요합니다. 대신 이 기능을 구현하기 위한 두 가지 옵션이 있습니다:1. 파일 실행 전 매개변수 설정
Nest chrome.tabs.executeScript 호출을 통해 파일을 삽입하기 전에 변수를 정의합니다.<code class="javascript">chrome.tabs.executeScript(tab.id, { code: 'var config = 1;' }, function() { chrome.tabs.executeScript(tab.id, {file: 'content.js'}); });</code>복잡한 변수의 경우 JSON.stringify를 사용하여 객체를 문자열로 변환:
<code class="javascript">var config = {somebigobject: 'complicated value'}; chrome.tabs.executeScript(tab.id, { code: 'var config = ' + JSON.stringify(config) }, function() { chrome.tabs.executeScript(tab.id, {file: 'content.js'}); });</code>content.js에서 다음 변수에 액세스할 수 있습니다:
<code class="javascript">// content.js alert('Example:' + config);</code>
2. 파일 실행 후 매개변수 설정
먼저 파일을 실행한 다음 메시지 전달 API를 사용하여 매개변수를 보냅니다.<code class="javascript">chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() { chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever'); });</code>content.js에서 크롬을 사용하여 이러한 메시지를 들어보세요. Runtime.onMessage 및 메시지 처리:
위 내용은 `chrome.tabs.executeScript()`를 사용하여 삽입된 콘텐츠 스크립트에 매개변수를 어떻게 전달합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!