在 Firefox 扩展中,我想实现一个简单的切换开关来启用/禁用扩展。基本思想是状态的变化将作为布尔值保存到浏览器(同步)存储中。每次都应该读取状态,这样扩展就会知道是否应该工作。但是 - 我的 Javascript 知识太差了,以至于我遇到了麻烦。
这是简单的 HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="styles.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<form id="form" class="ps-3 mt-3">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" id="flexSwitch">
<label class="form-check-label" for="flexSwitch">Plugin ON/OFF</label>
</div>
</form>
<label id="test"></label>
<br>
<script src="options.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是一个简单的 JS 文件:
function CheckAndSave()
{
var state = document.getElementById("flexSwitch");
if(state.checked)
{
document.getElementById('test').innerHTML = 'ON';
browser.storage.sync.set({ delovanje: 1 });
}
else
{
document.getElementById('test').innerHTML = 'OFF';
browser.storage.sync.set({ delovanje: 0 });
}
restoreState(); …Run Code Online (Sandbox Code Playgroud) 我知道这不是一个好的做法 :-) 但我请求打开一个“始终在顶部”的新浏览器窗口。这是一个小的通知/统计窗口,而不是一个广告弹出窗口。
我尝试从主页打开一个新窗口:
<a href="okence.html"
onclick="window.open('okence.html', 'newwindow', 'width=400,height=320'); return false;"
>Click</a>
Run Code Online (Sandbox Code Playgroud)
新的 html 文件有:
<html>
<body>
<script type="text/javascript" language="javascript">
onblur = function() {
setTimeout('self.focus()', 100);
}
</script>
Test
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
新窗口打开,但没有“总是在最前面”。有没有其他办法?或者浏览器不允许这样做?
我尝试了一些建议(也每次都设置弹出窗口的焦点),但没有一个有效。新(小)窗口被打开,但如果我点击外面的某个地方,它就消失了。我想要一个经典的“始终在顶部”功能,其中窗口停留在屏幕上。