【发布时间】:2020-06-26 13:01:42
【问题描述】:
我收到以下异常:当前值为 [object Object] popup.html:1 错误处理响应:TypeError:赋值给常量变量。 在 chrome-extension://....../popup.js:19:18 尝试从我的 Chrome 扩展程序中获取输入并在此处使用它...
const settings = {
name: "",
email: "",
tel: "",
cc_number: "",
cc_exp: "",
cc_csc: "",
address_line1: "",
address_level2: "",
address_level1: "",
postal_code: ""
}
function getSettingsfromStorage() {
chrome.storage.local.get(['settings'], function(result) {
console.log('im getter');
console.log('Value currently is ' + result); //Exception
settings = result; //Exception
});
}
function saveSettingstoStorage() {
chrome.storage.local.set({'settings': settings}, function() {
console.log('Value is set to ' + settings);
});
}
function getSettingsfromPopup() {
for(let setting in settings) {
console.log(setting);
settings.setting = document.getElementById(setting).value;
console.log(setting);
}
}
function saveSettingstoPopup() {
for(let setting in settings) {
console.log(setting);
if(document.getElementById(setting)) {
document.getElementById(setting).value = settings.setting;
}
console.log(setting);
}
}
async function getFromPopUpAndSaveToStorage() {
await getSettingsfromPopup();
saveSettingstoStorage();
}
async function getFromStorageAndSaveToSettings() {
await getSettingsfromStorage();
saveSettingstoPopup();
}
document.addEventListener('DOMContentLoaded', () => {
//settings.fullName = document.getElementById(name).value;
getFromStorageAndSaveToSettings();
document.getElementById("saveButton").addEventListener("click", getFromPopUpAndSaveToStorage());
})
【问题讨论】:
-
当一个变量被声明为
const时,以后不能重新赋值(设置为const,所以当你做settings = result时会报错) -
常量的值不能通过重新赋值来改变,也不能重新声明。
标签: javascript exception google-chrome-extension automation