我正在编写一个扩展程序,对页面上的图像右键单击做出反应。我想知道图像的尺寸,以便进一步处理。
开箱即用,我的回调获得了对标签和“信息”对象(OnClickData)的引用,该对象仅显示最少的信息。
之前有没有人遇到过这种情况?我想的是
答案 0 :(得分:2)
Image Properties Context Menu扩展程序的作用是将用户脚本与上下文菜单API结合使用。
用户脚本将注入所有页面,侦听上下文菜单事件,并通过chrome.extension.sendRequest
将有关图像的信息发送到扩展程序:
document.addEventListener("contextmenu", function (e) {
var elem = e.srcElement;
if (elem instanceof HTMLImageElement) {
var img = {
src: elem.src,
alt: elem.alt,
height: elem.height,
width: elem.width
}
chrome.extension.sendRequest(img);
}
}, true);
后台页面使用chrome.extension.onRequest.addListener
来接收此数据,并将其存储在全局变量中。上下文菜单API单击回调从此全局变量中读取数据。
假设始终在单击回调之前处理chrome.extension.sendRequest
调用,但情况可能并非总是如此。如果数据已到达,您可能需要进行回调检查,如果没有,请稍后重试(使用setTimeout
)。