chrome扩展(.crx)中的javascript在除我的电脑之外的其他电脑中不起作用
我是一个初学者,创建了一个chrome扩展(.crx),在我的机器上运行良好。但是,当我在其他机器的chrome中安装相同的文件时,content.js和popup.js文件中的javascript无法正常工作 popup.js:将消息发送到content.js,以获取有多少行处于挂起状态。 Content.js:统计处于挂起状态的行并发送响应 popup.js:chrome扩展(.crx)中的javascript在除我的电脑之外的其他电脑中不起作用,javascript,jquery,google-chrome,google-chrome-extension,Javascript,Jquery,Google Chrome,Google Chrome Extension,我是一个初学者,创建了一个chrome扩展(.crx),在我的机器上运行良好。但是,当我在其他机器的chrome中安装相同的文件时,content.js和popup.js文件中的javascript无法正常工作 popup.js:将消息发送到content.js,以获取有多少行处于挂起状态。 Content.js:统计处于挂起状态的行并发送响应 popup.js: function GetNoOfLinksClicked(e) { chrome.tabs.query({"statu
function GetNoOfLinksClicked(e) {
chrome.tabs.query({"status":"complete","windowId":chrome.windows.WINDOW_ID_CURRENT,"active":true}, function(tabs){
chrome.tabs.sendMessage(
tabs[0].id,
{from: 'CheckRows', subject: 'NoOfRowsPending'},
refreshNoRowsPending);
});
}
function refreshNoRowsPending(noOfPendingRows) {
document.getElementById('pendingRows').textContent = noOfPendingRows;
}
content.js:
chrome.runtime.onMessage.addListener(function (msg, sender, response) {
if ((msg.from === 'CheckRows') && (msg.subject === 'NoOfRowsPending')) {
var noOfPendingRows= 0;
$(".row_self").each(function() {
var status = $(this).find("td").eq(4).text();
if(status == "Pending"){
noOfPendingRows++;
}
});
response(noOfPendingRows);
}
}
.crx工作正常,如果我在开发它的chrome上运行if,则会显示计数,但在其他机器的chrome上运行时不会显示计数。有人能帮我吗?控制台中有错误吗?加载和执行扩展时,控制台中到底显示了什么?请回答主题中的问题:包括一个复制问题的完整部分。包括manifest.json、一些后台/内容/弹出脚本/HTML。寻求调试帮助的问题(“为什么此代码不工作?”)必须包括:►想要的行为,►特定的问题或错误,以及►在问题本身中复制它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:“如何创建”,以及。您是否通过manifest.json中的
content\u scripts
条目加载内容脚本?如果是这样的话,您是否在安装/启用扩展后立即进行测试,而不首先重新加载您希望其工作的网页?当安装/启用扩展时,Chrome不会在已打开的具有匹配URL的选项卡中加载manifest.jsoncontent\u脚本。它仅在页面加载/重新加载时执行此操作。有多种方法可以解决这个问题。通常,如果您的用户交互是从用户单击browserAction
按钮开始的,那么应该向内容脚本注入manifest.jsoncontent\u脚本
条目。