Google chrome extension Chrome扩展内容脚本注入图像

Google chrome extension Chrome扩展内容脚本注入图像,google-chrome-extension,Google Chrome Extension,问这个问题我觉得很愚蠢,但我一辈子都没法让它起作用 问题的要点是:我有一个chrome扩展,带有一个内容脚本注入的javascript弹出式UI,嵌入到加载的页面中。用户可以单击chrome扩展栏中的按钮,它将打开。在本例中打开意味着取消隐藏并显示SimpleModel弹出窗口。这一切都很好 然而,当我将一个JPG加载到浏览器中时,比如说刚刚转到这里,它仍然会将内容脚本信息注入页面似乎只有JPG受到影响。PNG和GIF没有受到影响(尽管我还没有对图像格式进行广泛测试)。然而,由于它是一个JPG,

问这个问题我觉得很愚蠢,但我一辈子都没法让它起作用

问题的要点是:我有一个chrome扩展,带有一个内容脚本注入的javascript弹出式UI,嵌入到加载的页面中。用户可以单击chrome扩展栏中的按钮,它将打开。在本例中打开意味着取消隐藏并显示SimpleModel弹出窗口。这一切都很好

然而,当我将一个JPG加载到浏览器中时,比如说刚刚转到这里,它仍然会将内容脚本信息注入页面似乎只有JPG受到影响。PNG和GIF没有受到影响(尽管我还没有对图像格式进行广泛测试)。然而,由于它是一个JPG,而不是一个完整的网站,所以注入的内容并不隐藏。它没有样式,只是像这样坐在图片下方(请原谅这张图片的大小):

我的内容脚本匹配如下

 "matches": [ "http://*/*", "https://*/*"],
 "exclude_matches":["*://*.png", "*://*.jpg", "*://*.gif"],
老实说,我甚至不确定排除匹配是否正确完成,或者说是否真的有效。chrome提供JPG的方式是否与其他图像格式不同?无论如何,谢谢你的帮助!这是一个令人沮丧的问题


谢谢你的帮助

由于这是一个已知的bug,我找到了另一种解决此问题的方法。将脚本放入一个
If语句中,如下所示:

if (window.location.pathname.split('.jpg') < 1) {
    //
    // Your script here.
    //
}
if(window.location.pathname.split('.jpg')<1){
//
//你的脚本在这里。
//
}

但是,这会将脚本注入到
jpg
页面,但不会在
if语句中运行脚本

在内容脚本中匹配MIME类型(内容类型)目前在Chrome中是一个开放的问题:如果它被修复,你可以只匹配HTML,而不是试图通过URL模式或“扩展”排除所有类型。哦,这当然解释了为什么我尝试它时它不起作用。这会让事情变得简单得多。谢谢你的消息,罗伯特!我将继续关注这个bug,尽管它在这一点上似乎已经很老了。可能重复:简短回答:这是一个已知的bug;尝试使用而不是
排除匹配项
。我不确定它是否适用于你的情况,但值得一试。