javascript - 如何在 javascript chrome 扩展中使用 If 语句
问题描述
我有一个 chrome 扩展(游戏),我正在实现一个后退按钮。该按钮有效,但是当我尝试每 5 次弹出一个弹出窗口时,它不起作用。
目前这是我的代码:
window.onload = function() {myFunction()};
function myFunction() {
if (localStorage.getItem('back') === null) {
localStorage.setItem('back', 0)
}
document.addEventListener('DOMContentLoaded', function() {
var Undo = document.getElementById('undo');
Undo.addEventListener('click', function() {
if (localStorage.getItem('back') > 1) {
local = localStorage.getItem('back')
localStorage.setItem('back', local - 1)
handle_undo();
} else {
localStorage.setItem('back', '5')
// just to display if it works:
document.write(localStorage.getItem('back'));
}
});})
<button class="undo-button" id="undo" target="_blank">UNDO</button>
我想要得到的是:
- 在窗口加载时,查找键为“back”的 localstorage 是否存在,并创建值为 0
- 当按钮被按下时,它等于 0,设置为 5(稍后会创建广告)
- 当按钮被按下且不等于 0 时,改变负 1
在此先感谢,-弗雷德
解决方案
我想通了:我只需要说如果 localstorage 不大于 1,请将其设置为 5,如果它为 null 则有效
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('undo').addEventListener('click', function() {
if (localStorage.getItem('back') > 1) {
local = localStorage.getItem('back')
localStorage.setItem('back', local - 1)
handle_undo();
} else {
localStorage.setItem('back', '5')
}
});})
<button class="undo-button" id="undo" target="_blank">UNDO</button>
谢谢你们的帮助!
推荐阅读
- asp.net-core - 如何使用基于 ASP.NET 和 .NET 的控制器将 260kb PDF 文件上传到 Azure Blob 存储?
- python - Google Sheets API 返回 HTTP 错误 400
- java - 如何阻止二维刚体上的法向力太小?(Java 2D)
- php - 所有表单都重定向到登录页面 - Symfony
- amazon-web-services - AWS SAM:嵌套堆栈中的 Lambda 不会获取 requirements.txt
- twilio - 如何按频道中的不同电话号码执行 Twilio Flow 拆分?
- java - 实时监控 Java 中的总线程堆栈大小
- python - 无法使用 rest Django 发布数据 - NOT NULL 约束失败:author_id
- reactjs - React - 详细信息页面未显示 json 数据,但 console.log 显示
- reactjs - 如何使用不同高度的项目为 Bootstrap 4 Carousel 的高度设置动画?