>  기사  >  웹 프론트엔드  >  `chrome.tabs.executeScript()`를 사용하여 삽입된 콘텐츠 스크립트에 매개변수를 어떻게 전달합니까?

`chrome.tabs.executeScript()`를 사용하여 삽입된 콘텐츠 스크립트에 매개변수를 어떻게 전달합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-29 12:18:29207검색

How Do I Pass Parameters to Content Scripts Injected with `chrome.tabs.executeScript()`?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.