我已经做了一百万次(甚至在同一个项目中),但不知怎的,以下代码不起作用:
inside content-script:
function DrawTrophies()
{
$(document).ready(function()
{
if (window.location.pathname.indexOf("/about") > 0)
{
if ($('#trophyDisplay').length > 0) {
return;
}
var userId=GetCurrentUserId();
chrome.runtime.sendMessage(
{
Action: "getTrophiesForUser",
UserId: userId
}, function(response)
{
console.log("YAY!");
});
// }
}});}
在后台脚本中:
// Trophies
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
if (request.Action==="getTrophiesForUser") {
var file="http://www.example.com/php/loadtrophies.php?version=1.0&userId="+request.UserId;
$.getJSON(file, function(trophies) {
sendResponse({Result: JSON.stringify(trophies)});
});
}
});
代码已运行,我甚至可以从后台脚本中查看JSON.stringify(trophies)
的值,但 console.log("YAY!")
永远不会被称为
控制台中根本没有错误消息。是什么让它与代码中的其他20个位置有所不同:
可能这些都是问题的根源吗?