Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah cara saya menghantar parameter kepada skrip kandungan yang disuntik dalam sambungan Chrome?

Bagaimanakah cara saya menghantar parameter kepada skrip kandungan yang disuntik dalam sambungan Chrome?

Barbara Streisand
Barbara Streisandasal
2024-10-27 16:22:01252semak imbas

How do I pass parameters to injected content scripts in Chrome extensions?

Melalukan Parameter ke Skrip Kandungan yang Disuntik

Apabila menyuntik skrip kandungan menggunakan chrome.tabs.executeScript(), seseorang mungkin menghadapi keperluan untuk menghantar parameter kepada skrip. Walau bagaimanapun, adalah penting untuk menjelaskan bahawa "mengirimkan parameter kepada fail" bukanlah konsep yang boleh digunakan.

Sebaliknya, terdapat dua pilihan untuk dipertimbangkan: menetapkan parameter sebelum atau selepas pelaksanaan skrip.

Tetapkan Parameter Sebelum Pelaksanaan

Anda boleh menyuntik skrip kandungan dengan parameter yang dipratentukan dengan menyarangkan panggilan 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>

Untuk parameter kompleks, gunakan 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>

Dalam content.js:

<code class="javascript">// content.js
alert('Example:' + config);</code>

Tetapkan Parameter Selepas Pelaksanaan

Parameter juga boleh ditetapkan selepas pelaksanaan skrip menggunakan penghantaran mesej:

<code class="javascript">chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() {
    chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever');
});</code>

Dalam content.js:

<code class="javascript">chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    // Handle message.
    // In this example, message === 'whatever value; String, object, whatever'
});</code>

Atas ialah kandungan terperinci Bagaimanakah cara saya menghantar parameter kepada skrip kandungan yang disuntik dalam sambungan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn