Showing/Hiding 来自 firefox 扩展的按钮在特定网页上不起作用
Showing/Hiding button from firefox extension not working on specific web page
我正在为我的网络应用编写一个简单的浏览器扩展程序。
我的网站上有一个包含卡片的列表 <ul id="cards-in-progress">
,我想使用扩展程序向隐藏或显示它的 ul 标签添加一个属性。
在我的分机上,popup.html 上有以下按钮:
<h3 class="lead">Hide Cards</h3>
<div class="input-group mb-3 has-success">
<div class="input-group-append">
<button id="hideAllCards" class="btn btn-success" type="button" data-toggle="popover" data-placement="top" data-content="Hide all cards">
Hide
</button>
</div>
</div>
</p>
<p>
<h3 class="lead">Show Cards</h3>
<div class="input-group mb-3 has-success">
<div class="input-group-append">
<button id="showAllCardsButton" class="btn btn-success" type="button" data-toggle="popover" data-placement="top" data-content="Show all cards">
Show
</button>
</div>
</div>
</p>
在我的分机上,我有 popup.js:
$("#hideAllCards").click(function() {
$('#cards-in-progress').attr("style", "display: none !important");
});
$("#showAllCardsButton").click(function() {
$('#cards-in-progress').attr("style", "display: block !important");
});
PS.: 我在 firefox 上使用它
PS.: 我有一个包含 jquery.js 和 popup.js
的 JS 文件夹
我究竟做错了什么?
更新
当我尝试使用 alert() 时,通常警告框应该出现在网站上而不是我的 HTML 扩展程序上。目前正在发生的事情是 alert() 正在我的分机上执行。
这意味着我尝试执行的代码没有发送到我的网站,但它保留在我的分机上。我不明白为什么。
要操作选项卡,我必须按如下方式更改函数:
const hideCards = `#cards-in-progress {
display: none;
}`;
$("#hideAllCards").on('click',function() { browser.tabs.insertCSS({code: hideCards}) });
$("#showAllCardsButton").on('click',function() { browser.tabs.removeCSS({code: hideCards}) });
我正在为我的网络应用编写一个简单的浏览器扩展程序。
我的网站上有一个包含卡片的列表 <ul id="cards-in-progress">
,我想使用扩展程序向隐藏或显示它的 ul 标签添加一个属性。
在我的分机上,popup.html 上有以下按钮:
<h3 class="lead">Hide Cards</h3>
<div class="input-group mb-3 has-success">
<div class="input-group-append">
<button id="hideAllCards" class="btn btn-success" type="button" data-toggle="popover" data-placement="top" data-content="Hide all cards">
Hide
</button>
</div>
</div>
</p>
<p>
<h3 class="lead">Show Cards</h3>
<div class="input-group mb-3 has-success">
<div class="input-group-append">
<button id="showAllCardsButton" class="btn btn-success" type="button" data-toggle="popover" data-placement="top" data-content="Show all cards">
Show
</button>
</div>
</div>
</p>
在我的分机上,我有 popup.js:
$("#hideAllCards").click(function() {
$('#cards-in-progress').attr("style", "display: none !important");
});
$("#showAllCardsButton").click(function() {
$('#cards-in-progress').attr("style", "display: block !important");
});
PS.: 我在 firefox 上使用它 PS.: 我有一个包含 jquery.js 和 popup.js
的 JS 文件夹我究竟做错了什么?
更新
当我尝试使用 alert() 时,通常警告框应该出现在网站上而不是我的 HTML 扩展程序上。目前正在发生的事情是 alert() 正在我的分机上执行。 这意味着我尝试执行的代码没有发送到我的网站,但它保留在我的分机上。我不明白为什么。
要操作选项卡,我必须按如下方式更改函数:
const hideCards = `#cards-in-progress {
display: none;
}`;
$("#hideAllCards").on('click',function() { browser.tabs.insertCSS({code: hideCards}) });
$("#showAllCardsButton").on('click',function() { browser.tabs.removeCSS({code: hideCards}) });