如何在 chrome 扩展程序中重新加载浏览器后保留变量的值
How can I keep the value of variable after reload browser in chrome extensions
我正在编写我的第一个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);
});
我希望这对你有帮助,问候
埃贝
相关文章:
- 在BoilerplateJS浏览器加载所有脚本(在其他模块中),而不考虑激活的模块
- 通过浏览器加载页面时触发加载脚本(js或jQuery)'s”;返回“;作用
- 浏览器加载损坏的旧Javascript
- 浏览器加载时自动刷新
- 如何为某些浏览器加载某些脚本
- 应用浏览器加载停止事件不起作用
- Ajax 启用浏览器加载栏
- 如何正确注销GWT应用程序以避免浏览器加载缓存数据
- PhoneGap 在应用程序浏览器加载停止事件问题
- 如何在javascript中从浏览器加载xml数据
- 您能否从 Web 浏览器加载 Socket.IO(快速)服务器
- 浏览器加载错误仅具有特定文件路径 - 内部服务器错误 500
- 如何使用javascript获取浏览器加载的文件列表
- 每当浏览器加载图标处于活动状态时显示加载图标
- JavaScript中有没有一种方法可以在解析HTML时在浏览器加载图像之前更改图像路径
- 在IE浏览器中,总是从浏览器加载旧数据
- 浏览器加载资源的最有效方式
- 浏览器加载指示器从未停止旋转IE10
- Facebook如何在AJAX页面加载过程中显示浏览器加载进度
- 用ajax在本地浏览器加载JSON,但不能在PhoneGap应用中加载