我尝试将网址保存到我的Chrome扩展程序的localstorage中。 此URL是从弹出窗口中的文本输入字段输入的。 我只是无法获得保存新值的脚本。
继承我的代码:
popup.html:
<html>
<head>
<title>Favourite.es Settings</title>
<link rel="stylesheet" href="/mdl/material.min.css">
<script src="/mdl/material.min.js"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="/css/settings.css">
<link rel="stylesheet" href="https://code.getmdl.io/1.1.1/material.blue-light_blue.min.css" />
</head>
<body>
<script src="popup.js"></script>
<div class="container">
<img src="/img/Branding.png">
</div>
<div class="container">
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label" style="width: 80%; margin-left:30px;">
<input class="mdl-textfield__input" type="text" id="bgurl">
<label class="mdl-textfield__label" for="sample3">Background URL:</label>
</div>
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect" style="margin-left:30px" onclick="save();">
Save
</button>
</div>
</body>
</html>
popup.js:
function save(){
console.log("Init SAVE");
var bgurl = document.getElementById("bgurl");
localStorage.setItem("bgurl", bgurl.value);
}
答案 0 :(得分:0)
使用此方法管理以使其工作:
(popup.js)
function save(){
console.log("Init SAVE");
var bgurl = document.getElementById("bgurl");
localStorage.setItem("bgurl", bgurl.value);
}
document.addEventListener('DOMContentLoaded', function() {
var link = document.getElementById('btn');
// onClick's logic below:
link.addEventListener('click', function() {
save();
});
});
答案 1 :(得分:0)
之前我遇到过这个问题。
尝试将最后一行代码更改为
window.localStorage.setItem("bgurl", bgurl.value);
答案 2 :(得分:0)
这对我来说很好。如果第一个语句不起作用,请尝试第二个语句。检查Chrome控制台中是否有javascript错误。
if (window.localStorage) {
localStorage.setItem("myKey", mykeyval);
// OR this works too
localStorage["myKey"] = mykeyval;
}