>웹 프론트엔드 >JS 튜토리얼 >Chrome 확장 프로그램에 삽입된 콘텐츠 스크립트에 매개변수를 전달하는 방법은 무엇입니까?

Chrome 확장 프로그램에 삽입된 콘텐츠 스크립트에 매개변수를 전달하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 07:19:30649검색

How to Pass Parameters to Injected Content Scripts in Chrome Extensions?

chrome.tabs.executeScript()를 사용하여 삽입된 콘텐츠 스크립트에 매개변수 전달

chrome.tabs.executeScript(tab.id, {file: "content.js"}), 스크립트에 매개변수를 전달하는 직접적인 방법은 없습니다. 그러나 두 가지 대체 방법을 사용하여 이 기능을 구현할 수 있습니다.

실행 전 매개변수 설정

콘텐츠 스크립트를 실행하기 전에 변수를 정의하려면 아래와 같이 chrome.tabs.executeScript 호출을 중첩하세요.

chrome.tabs.executeScript(tab.id, {
    code: 'var config = 1;'
}, function() {
    chrome.tabs.executeScript(tab.id, {file: 'content.js'});
});

복잡한 변수의 경우 JSON.stringify를 사용하여 객체를 문자열로 변환합니다.

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'});
});

content.js에서 Alert('Example:' config);를 사용하여 변수에 액세스합니다. .

실행 후 매개변수 설정

실행 후 매개변수를 설정하려면 메시지 전달 API를 사용하세요.

chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() {
    chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever');
});

content.js에서 chrome.runtime을 사용하여 메시지를 수신합니다. .onMessage.addListener(function(message, sender, sendResponse) { // 메시지 처리 });. 메시지에는 매개변수 값이 포함됩니다.

위 내용은 Chrome 확장 프로그램에 삽입된 콘텐츠 스크립트에 매개변수를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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