browser_action点击行为.它会重新加载我的弹出窗口.html并删除会话存储



我希望browser_action像显示和隐藏弹出窗口一样.html。不重新加载。我的 Chrome 扩展程序会捕获用户交互并存储在会话存储中,以便执行后续步骤。但是一旦我单击browser_action按钮,它就会重新加载弹出窗口.html一切都会丢失。

请帮忙

我的清单.json 文件:

{
"name": "...",
"version": "0.1",
"manifest_version": 2,
"permissions": [ "tabs", "storage"],
"background_page" : "background.html", 
"background": {
"persistent": false,
"scripts": ["background.js"]
},
"description": "---",
"icons": {
"128": "icon.png"
},
"content_security_policy": "script-src 'self'; object-src 'self'",
"browser_action": {
"default_popup": "popup.html",
"default_icon": "icon.png"
  }
}

弹出窗口.html:

    <script src="background.js"></script>
</head>
<body>
<form method="get" name="form">
<center>
<input type="button" name="bt" value="Record" id="b1"></input><br><br>
Status: <br><input type="text" name="status" value="Not recording" align="middle" id="status1" disabled></input>
</form>
</center>
</body>
</html>

背景.js:

.
..function record(){
do stuff
sessionStorage.setItem(result, id);
}
...functions
....functions 
document.addEventListener('DOMContentLoaded', function () {
document.getElementById("b1").addEventListener("click",record);
});

这就是浏览器操作应该的工作方式,您无法更改它们以在单击时切换。

在新选项卡或窗口中打开页面将导致启动新会话。

如果您希望存储更持久,请改用localStorage。它具有与sessionStorage相同的界面,但不会在新选项卡/弹出窗口中重置。

最新更新