我在寻找如何将文本设置为页面操作图标时,找到了这个例子:
但是当我将它包含到我的
因此,我现在不知道错误出在哪里,也不知道应该怎么搜索。
window.setInterval(function() {
chrome.pageAction.setIcon({
imageData: draw(10, 0),
tabId: tabId
});
}, 1000);
function draw(starty, startx) {
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var img = new Image();
img.src = "icon_16.png"
img.onload = function() {
context.drawImage(img, 0, 2);
}
//context.clearRect(0, 0, canvas.width, canvas.height);
context.fillStyle = "rgba(255,0,0,1)";
context.fillRect(startx % 19, starty % 19, 10, 10);
context.fillStyle = "white";
context.font = "11px Arial";
context.fillText("3", 0, 19);
return context.getImageData(0, 0, 19, 19);
}
但是当我将它包含到我的
eventPage.js
中时,它会显示Uncaught TypeError: Cannot call method 'getContext' of null
。然后我在Google上搜索这个错误,并发现我必须在DOM加载后才能使用getContext
。所以我将上面的代码包装在jQuery .ready
函数中,但结果仍然相同。![enter image description here](https://istack.dev59.com/UuyVY.webp)
icon_16.png
这个图标文件? - gkalpakcontext.fillStyle = "white";
改成"black"
吗?你使用的是我的上面的代码还是修改过的版本? - gkalpak