gpt4 book ai didi

javascript - 当我点击时 Chrome.storage.onChanged 存储 newValue

转载 作者:行者123 更新时间:2023-11-28 04:43:27 28 4
gpt4 key购买 nike

我的 content.js,我使用 external_connectable 从网页发送 token 我在background.js中设置了该 token 。我的第二个content.js运行其他网页,我调用 token ,我在background.js中设置了该 token 。当 token 更改时,我会监听 onChanged 方法,并在单击按钮时给我 newValue 。 当我单击按钮时给我 newValue 但我的问题是当 token 更改时,我再次单击给 2 个旧 token 和新 token 。当 token 再次更改时给 3 个值。

p.s 我的英语很糟糕,抱歉

content.js(发送token到background.js):

var x = localStorage.getItem("token");   
chrome.runtime.sendMessage("dcjcfafcmfgklldlfehalaedlaaboemo",{data: x });

背景.js:

chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.data)

chrome.storage.local.set({'token_data': request.data});

});

content.js(第二个网页调用 token ):

$( document ).ready(function() {  
$(".info-more").append($("<a class='my-button'></a>"));



chrome.storage.onChanged.addListener(function(changes, namespace) {

$('.my-button').on('click',function(){

console.log(changes.token_data);

});
});

});

最佳答案

它为您提供了更多值(value),因为您每次都为新消息设置点击处理程序。

只需将点击处理程序移到消息监听器之外即可:

第二个内容.js:

$( document ).ready(function() {  
$(".info-more").append($("<a class='my-button'></a>"));

var token;
chrome.storage.onChanged.addListener(function(changes, namespace) {
token = changes.token_data;
});

$('.my-button').on('click',function(){
console.log(token);
});

});

关于javascript - 当我点击时 Chrome.storage.onChanged 存储 newValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43584344/

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