そのため、「名前」などを保存し、それらをボタンとしてリストして、現在のページをリストの誰とでも共有できるようにするクロム拡張機能を作成しようとしています。現在、chrome.storage (クラウド) に読み書きしようとしていますが、私の JS は実際には何もしていません! コードは問題ないように見えますが、何もしません!
window.load = myJs;
function myJs() {
document.addEventListener('DOMContentLoaded', function () {
var link = document.getElementById('get');
link.addEventListener('click', function () {
function getValues() {
chrome.storage.local.get('Name', function (result) {
Name = result;
alert(result);
});
}
});
});
document.addEventListener('DOMContentLoaded', function () {
var link = document.getElementById('savechanges');
link.addEventListener('click', function () {
function saveChanges() {
var newname = getElementById("newname");
var newemail = getElementById("newmail");
if (!newname) {
message('Error: No name specified');
return;
}
if (!newemail) {
message('Error: No E-mail specified');
return;
}
chrome.storage.sync.set({
'Name': newname
}, {
'Email': newemail
}, function () {
message('New contact added');
window.location.href = "popup.html";
});
}
});
});
}
したがって、私の拡張機能には 2 つのページがあり、1 つは 2 つの入力を使用して新しい人を追加するためのもので、もう 1 つは値を取得するためのものです (少なくとも今のところ、方法がわかり次第、それらをボタンとしてリストする予定です)。
ここに両方のhtmlがあります
page.html
<body>
<input type="text" id="newname" placeholder="Enter new contact name">
<input type="text" id="newemail" placeholder="Enter new contact email">
<button name="Add" id="savechanges" class="m-btn">Add new contact</button>
<script src="popup.js"></script>
</body>
popup.html
<body>
<button type="button" id="get" class="m-btn">Get</button>
<script src="popup.js"></script>
<a href="page.html"><input type="submit" name="add" value="Add" class="m-btn"></a>
</body>