gpt4 book ai didi

javascript - Chrome 扩展程序将变量从 popup.js 传递到内容脚本

转载 作者:行者123 更新时间:2023-12-02 19:15:16 24 4
gpt4 key购买 nike

我有 popup.js 脚本:

function FireInjectionScript() {
//Want to Pass this variable.
var updateTextTo = document.getElementById('mat_no').value.trim()
chrome.tabs.executeScript({
file: 'InjectionScript.js'
});
}

document.getElementById('caseButton').addEventListener('click', FireInjectionScript);

我已经浏览了 google 和 stackoverflow 前 5 页中的几乎所有问题,但无法让这个简单的参数传递工作。

已尝试过this , this , this 。许多问题都是相当古老的。这在 Chrome 中不再可能了吗?我的最终目标是传递变量,然后从 WebApi 返回数据,以根据传递的变量填写页面上的一些控件 - 我是不是找错树了。非常感谢任何指导。

最佳答案

您可以使用messaging将数据发送到注入(inject)的脚本,但您需要选项卡 ID。

popup.js

function FireInjectionScript() {
//Want to Pass this variable.
var updateTextTo = document.getElementById('mat_no').value.trim();
chrome.tabs.query({active: true, currentWindow: true}, tabs => {
chrome.tabs.executeScript(tabs[0].id,{file: 'InjectionScript.js'},()=>{
chrome.tabs.sendMessage(tabs[0].id,{myVar:updateTextTo});
});
});
}

document.getElementById('caseButton').addEventListener('click', FireInjectionScript);

InjectionScript.js

chrome.runtime.onMessage.addListener(message=>{
if (message.myVar) {
//here you can access message.myVar
}
});

关于javascript - Chrome 扩展程序将变量从 popup.js 传递到内容脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63801144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com