Chrome本地存储问题
Chrome local storage problems
我试图使chrome扩展的默认弹出作为设置页面
目前为止的代码
[Manifest.json]{
"name" : "test",
"description" : "it just works",
"version" : "1.0",
"manifest_version" : 2,
"permissions": [
"activeTab",
"declarativeContent",
"storage"
],
"icons": {
"16" : "icon_016.png"
},
"options_page": "options.html",
"content_scripts": [
{
"matches": [""],
"js": ["jquery.js", "script.js"]
}
],
"background": {
"scripts": ["background.js","options.js"],
"persistent": false
},
"browser_action":{
"default_icon": "icon_016.png",
"default_popup": "popup.html"
}
}
[popup.html] <!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title></title>
<base target="_blank" />
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript' src='jquery-ui.min.js'></script>
<script src='spectrum.js'></script>
<link rel="stylesheet" href="bootstrap.min.css">
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<link rel='stylesheet' href='spectrum.css' />
<script type="text/javascript" src="options.js"></script>
<style type='text/css'>
body {
width: 300px;
height: 50px;
}
.bc {
text-align: center;
height: 60px;
}
</style>
</head>
<body onload="loadOptions()">
<div class="bc container well">
<div class="input-group-addon">Refresh time (s)</div>
<input class="input" type="number" id="refresh">
<br /><br />
<div class="input-group-addon">Max Buy</div>
<input class="input" type="number" id="maxBuy">
<br /><br />
<div class="input-group-addon">Min Buy</div>
<input class="input" type="number" id="minBuy">
<br /><br />
<div class="input-group-addon">Buy at (%) discount</div>
<input class="input" type="number" id="discount">
<br /><br />
<button onclick="saveOptions()">Save</button>
<br />
<button onclick="eraseOptions()">Restore default</button>
</div>
</body>
</html>
[options.js] var defmax = 999999;
var defmin = 0;
var defdisc = 30;
var defref = 10;
function loadOptions() {
var maxBuy = localStorage["maxBuy"];
var minBuy = localStorage["minBuy"];
var discount = localStorage["discount"];
var refresh = localStorage["refresh"];
// value is not void/null
if (maxBuy == undefined) {
maxBuy = defmax;
}
if (minBuy == undefined) {
minBuy = defmin;
}
if (discount == undefined) {
discount = defdisc;
}
if (refresh == undefined) {
refresh = defref;
}
}
function saveOptions() {
var select1 = document.getElementById("maxBuy").value;
var select2 = document.getElementById("minBuy").value;
var select3 = document.getElementById("discount").value;
var select4 = document.getElementById("refresh").value;
localStorage["maxBuy"] = select1;
localStorage["minBuy"] = select2;
localStorage["discount"] = select3;
localStorage["refresh"] = select4;
chrome.storage.sync.set({
maxBuy: $('#maxBuy').val(),
minBuy: $('#minBuy').val(),
discount: $('#discount').val(),
refresh: $('#refresh').val()
});
}
function eraseOptions() {
localStorage.removeItem("maxBuy");
localStorage.removeItem("minBuy");
localStorage.removeItem("discount");
localStorage.removeItem("refresh");
location.reload();
}
这个想法是默认弹出工作作为一个设置页面,不用说,它应该显示当前设置的值,你应该能够改变他们。请记住,我是新手,这只是一堆来自各种项目的代码,任何指针都会受到赞赏。
问题是为什么它不工作,它不保存值,也不显示默认值当你打开弹出
你必须像
那样存储localStorage.setItem("lastname", "Arun");
localStorage.getItem("lastname");
相关文章:
- 在firebase(web)上存储数据时出现问题
- 性能问题:存储对DOM元素的引用与使用选择器相比
- 循环POS={{k}}k的iMacros没有持有整数值/存储问题
- 安卓phonegap应用程序与三星Galaxy设备上的SQlite和本地存储存在问题
- 关于确定数组中存储的最大值的不同方法的一些问题(加上输出消息问题)
- HTML5 本地存储 - 多个删除项问题
- 在 IE7 中模拟本地存储时出现问题
- 将整个字符串存储为数据属性时出现问题
- 日期选取器存储错误值的问题
- 角度 Restangular 本地存储拦截器问题
- 全局变量 VS Web 应用中的本地存储和内存问题
- ExtJS4 组合框加载/存储问题
- 下拉列表和本地存储问题
- 您如何解决 ExtJS 4.2 缓冲存储中的查找记录问题
- 为什么两个网页有不同的本地存储?我该如何解决这个问题
- 在本地存储中创建多维数组时出现问题
- 在localStorage中存储HTTP Basic授权标头是否存在任何安全问题
- Sencha Touch-本地存储问题
- 在javascript中存储时间的问题
- JSON数据加载问题本地存储