javascript - 没有错误显示,但 Chrome.Storage.Sync。Get 没有收到我在 Chrome.Storage.Sync.Set 中设置的内容
问题描述
我正在尝试使用我的扩展程序的选项部分作为用户编写网站的一种方式,这些网站稍后将在后台脚本中用于创建这些网站的新选项卡。没有错误,但是当我尝试运行扩展程序时,他们放入的网站都没有真正打开。我不确定这是否与我编写 chrome.storage.sync.set API 的方式或我编写 chrome.storage.sync.get API 的方式或完全不同的方式有关。
这是我的 options.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<script src="options.js"></script>
<meta charset="utf-8">
<title>Choose Website</title>
</head>
<body>
<h1>Choose Websites Here</h1>
<h4> <i>Please Put the full URL</i></h4>
<h4><i>Example: "https://www.google.com"</i></h4>
<h2>Website #1: <input type="text" id="website1"></h2>
<h2>Website #2: <input type="text" id="website2"></h2>
<h2>Website #3: <input type="text" id="website3"></h2>
<button type="button" name="Save Changes" id="savechanges">Save Changes</button>
</body>
</html>
选项.js
function WebsiteChoosing (){
$('#savechanges').click(function(){
var website1 = $('#website1').val();
var website2 = $('#website2').val();
var website3 = $('#website3').val
if(website1){
chrome.storage.sync.set({'website1' : website1})
}
if(website2){
chrome.storage.sync.set({'website1' : website1})
}
if(website3){
chrome.storage.sync.set({'website1' : website1})
}
})
};
backround.js(仅相关)
chrome.browserAction.onClicked.addListener(buttonClicked)
function buttonClicked () {
chrome.storage.sync.get(['website1', 'website2', 'website3'], data => {
if (data.website1) chrome.tabs.create({url: data.website1});
if (data.website2) chrome.tabs.create({url: data.website2});
if (data.website3) chrome.tabs.create({url: data.website3});
});
Manifest.json(仅相关)
"background" : {
"scripts" : ["background.js"]
},
"options_page": "options.html",
"permissions": [
"history",
"storage",
"activeTab",
"tabs"
解决方案
推荐阅读
- c++ - 分配时出现分段错误
- java - JPA:延迟加载的数据在未调用时也会被获取
- ag-grid-angular - 将“复制此行”上下文菜单添加到 agGrid
- python-3.x - 覆盖列时的 Pandas SettingWithCopyWarning
- python - 更新数组和内部数组中匹配的所有对象
- c++ - 程序忽略用户名,只允许我输入密码?
- django - 为什么 React/TypeScript/axios 会忽略我的 CSRF cookie?
- css - 如果我们在 Angular 8 项目中的组件 CSS 或 scss 文件和根 CSS 或 scss 文件中写入相同的属性,那么将执行哪一个?
- python - python中的多个随机回归模型
- java - 每个帐户只允许一个会话