我遇到了一个奇怪的错误,我在为客户端开发扩展时没有见过。完成扩展(调试,优化,在多台计算机上进行测试)后,客户端的合作伙伴无法在其计算机上加载扩展。在基本故障排除之后,我一直在逐步向他发送更大和更大的代码子部分,以查看阻止代码正常执行的原因。最初我发给他基本代码,以确保弹出窗口将使用我正在使用的库(bootstrap,listjs,jquery)呈现,一切正常。然后我发给他使用popup.js文件和background.js文件之间传递消息的代码,将数据记录到后台页面的控制台。这不起作用,我不知道为什么。它在我测试过的每台其他计算机上运行良好。我将附上以下基本代码。我想帮助确定导致消息传递不起作用的原因。
{
"name": "Test E",
"version": "1.0",
"description": "Check background console",
"background": {
"page": "background.html"
},
"browser_action": {
"default_icon": {
"19": "images/drop.png"
},
"default_popup": "popup.html"
},
"permissions": [
"activeTab",
"tabs"
],
"manifest_version": 2
}
$( document ).ready(function(){
gen_list();
chrome.runtime.sendMessage({x:"work"});
});
function gen_list(){
// this is just code to initialize the list from the list.js library
var options = {valueNames: ['name'],plugins: [ListFuzzySearch()]};
var list1 = new List('hacker-list', options);
list1.add( {name:"second"} );
$( 'body' ).css('background-color',"green");
}
<html>
<script src="js/bg.js"></script>
</html>
chrome.runtime.onMessage.addListener(function(m){
console.log(m.x);
});
// this should log "work" to the console, it works perfectly fine on my computer
其他信息: 他在扩展栏中加载了大约20个扩展,他运行的是最新版本的chrome,并且是在osx el capitain上。