gpt4 book ai didi

javascript - 如何在 Chrome 扩展中重新加载浏览器后保留变量的值

转载 作者:行者123 更新时间:2023-11-28 00:44:16 25 4
gpt4 key购买 nike

我正在编写我的第一个 chrome 扩展,而且我是这个领域的新手。

我的目标是将 url 和电子邮件发送到 PHP 服务器,但现在我将它们发送到控制台。

我的问题是将用户输入的最后一封电子邮件保存到我的分机中。现在,当我关闭浏览器时,电子邮件的值将更改为未定义。

我放置了扩展程序的完整代码,但我认为问题一定出在 getemail 函数中。

背景.js

//variables defenitions:
var email;
var urll;
//functions:

function getemail(){
email = window.prompt("Pleas enter your Email address:");
chrome.storage.sync.set({'email':email}, function() {
alert('You entered \n[' + email + "]\n as Email address.\nThank you for registration." );
});
var id = chrome.contextMenus.create({"title": "Submit your url","onclick":consollog });
var id = chrome.contextMenus.create({"title": email+"/Change" ,"onclick":getemail });
chrome.contextMenus.remove("1", null);
chrome.contextMenus.remove("2", null);
var id = chrome.contextMenus.create({"id":"2","title": "SUPPORT","onclick":support});
}


function create(){
var id = chrome.contextMenus.create({"title": "Submit your url","onclick":consollog });
var id = chrome.contextMenus.create({"title": email+"/Change" ,"onclick":getemail });
chrome.contextMenus.remove("1", null);
chrome.contextMenus.remove("2", null);
var id = chrome.contextMenus.create({"id":"2","title": "SUPPORT","onclick":support});
}
function support(){
alert("Contact ways:\nPhone number:+989378114692\nEmail address:amukiarash@gmail.com");
}

function consollog(info, tab) {
chrome.tabs.query({
'active':true,"currentWindow": true,
}, function(lTabs) {
urll=lTabs[0].url;
console.log(urll)
console.log(email)
alert('You sent "' + urll + '" to our server');
});
}
//menu items:
if(email==undefined){
var id = chrome.contextMenus.create({"id":"1","title": "Register Email","onclick":getemail });
}
else {create();}


var id = chrome.contextMenus.create({"id":"2","title": "SUPPORT","onclick":support});

manifest.json:

{
"name": "Jenco",
"description": "This extension helps you to send url",
"version": "0.9",
"browser_action":{
"default_icon":"32.png",
"default_popup":"mypopup.html"},
"permissions": ["contextMenus","tabs","activeTab", "http://*/*", "https://*/*","storage"],
"background": {
"scripts": ["background.js"]
},
"manifest_version": 2,
"icons": { "16": "16.png",
"32": "32.png",
"48": "48.png" },
"commands": {
"send-url": {
"suggested_key": { "default": "Ctrl+Shift+Z" },
"description": "Send an url"
}
}
}

最佳答案

我保存变量和加载变量的代码:

// Saving
chrome.storage.sync.set({"variableName": value});
// Loading 1 thing
chrome.storage.sync.get("variableName", function(result){
// Showing the requested variable value
alert(result.variableName);
});
// Loading more things
chrome.storage.sync.get(["variableName", "variableNameTheSecond"], function(result){
// Showing first the first one and then the second one
alert(result.variablename);
alert(result.variableNameTheSecond);
});

希望这对您有帮助,问候

埃贝

关于javascript - 如何在 Chrome 扩展中重新加载浏览器后保留变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27574012/

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