Apabila menyuntik skrip kandungan menggunakan chrome.tabs.executeScript(tab.id, {file: "content.js"}), tiada cara langsung untuk menghantar parameter kepada skrip. Walau bagaimanapun, anda boleh melaksanakan fungsi ini menggunakan dua kaedah alternatif:
Untuk menentukan pembolehubah sebelum melaksanakan skrip kandungan, nest chrome.tabs.executeScript memanggil seperti yang ditunjukkan di bawah:
chrome.tabs.executeScript(tab.id, { code: 'var config = 1;' }, function() { chrome.tabs.executeScript(tab.id, {file: 'content.js'}); });
Untuk pembolehubah kompleks, gunakan JSON.stringify untuk menukar objek kepada rentetan:
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'}); });
Dalam content.js, akses pembolehubah menggunakan alert('Contoh:' config); .
Untuk menetapkan parameter selepas pelaksanaan, gunakan API menghantar mesej:
chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() { chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever'); });
Dalam content.js, dengar mesej menggunakan chrome.runtime .onMessage.addListener(fungsi(mesej, penghantar, sendResponse) { // Mengendalikan mesej });. Mesej akan mengandungi nilai parameter.
Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Parameter kepada Skrip Kandungan yang Disuntik dalam Sambungan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!