gpt4 book ai didi

javascript - 在注入(inject)脚本中以编程方式获取 chrome 扩展 ID

转载 作者:行者123 更新时间:2023-11-28 17:48:06 29 4
gpt4 key购买 nike

在我的内容脚本中,我使用这种方法来访问网页的变量:

function exec(fn) {
var script = document.createElement('script');
script.setAttribute("type", "application/javascript");
script.textContent = '(' + fn + ')();';
document.body.appendChild(script); //run the script
document.body.removeChild(script); //clean up
}

exec( function(){
var test = websiteVar

chrome.runtime.sendMessage("extensionID", {test: test}, function(response) {

});
});

如果我对它进行硬编码,它就可以工作。但是,我无法使用 chrome.runtime.id ,因为它被注入(inject)到页面中。我想我读到它们在同一上下文中不起作用。

有没有办法以编程方式获取扩展 ID?

最佳答案

示例 wOxxOm上面说:

function exec(fn) {
var script = document.createElement('script');
script.setAttribute("type", "application/javascript");
script.textContent = '(' + fn + ')("' + chrome.runtime.id +'")';
document.body.appendChild(script); //run the script
document.body.removeChild(script); //clean up
}

exec( function(extensionID){

var test = websiteVar;
chrome.runtime.sendMessage(extensionID, {test: test}, function(response) {

});

});

关于javascript - 在注入(inject)脚本中以编程方式获取 chrome 扩展 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46250393/

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