0

我知道这是可能的,但我不太确定如何以“正确”的方式进行操作,以确保没有冲突。

我遇到了这个问题:Cannot call functions to content scripts by click on image。但它与随机评论如此复杂,以至于很难理解正确的方法是什么。

用例:

Html 页面div在页面上有一个他们希望任何使用 Chrome 扩展程序的人都可以注入图片的页面。当用户点击他的图片时,我想以某种方式通知一个事件脚本。所以我知道我需要注册一个监听器,以便代码插入事件脚本的消息。

我可以通过内容脚本获得一些关于要注入哪些代码的指示吗?我看到有时建议直接注入 jquery。

我试图避免让 html 页面向自身发布消息,以便它可以被拦截。谢谢

4

1 回答 1

1

在 Jquery 的帮助下,类似这样的东西会捕获图像 onclick 事件,并允许您将消息传递到 Chrome 扩展中的背景页面:

$("img").click(function(){

    var imageSrc = $(this).attr("src");

    //Post to a background page in the Chrome Extension
    chrome.extension.sendMessage({ cmd: "postImage", data: { imgSrc: imageSrc } }, function (response) {
        return response;
    });
});

然后在你的 background.js 中为消息创建一个监听器:

chrome.extension.onMessage.addListener(
function (request, sender, sendResponse) {
    if (request.cmd == "postImage") {
        var imageSrc = request.data.imgSrc;
    }
});
于 2013-05-13T15:02:09.620 回答