google-chrome-extension - Chrome 扩展内容脚本注入(inject)图像

标签 google-chrome-extension

我觉得问这个问题很愚蠢,但我一生都无法让它发挥作用。

问题的要点:我有一个 chrome 扩展,其中包含嵌入到加载页面中的内容脚本注入(inject)的 javascript 弹出 UI。用户可以单击 Chrome 扩展栏中的按钮并将其打开。在这种情况下打开意味着取消隐藏并使用简单模式弹出窗口进行显示。这一切都很好。

但是,当我将 JPG 加载到浏览器中时,就像说只是转到此处 http://customersrock.files.wordpress.com/2007/07/bunny.jpg它仍然将内容脚本信息注入(inject)到页面中。 似乎只有 jpg 受到影响。 PNG 和 gif 则不会(尽管我还没有对图像格式进行广泛的测试)。但是,由于它是 JPG 而不是完整的网站,因此注入(inject)的内容不会被隐藏。它没有样式,只是位于图像下方,就像这样(请原谅该图像的大小):

Example problem

我的内容脚本匹配如下

 "matches": [ "http://*/*", "https://*/*"],
 "exclude_matches":["*://*.png", "*://*.jpg", "*://*.gif"],

老实说,我什至不确定排除匹配是否正确完成或是否真的有效。 Chrome 提供 jpg 的方式与其他图像格式不同吗?无论如何,感谢您的帮助!这是一个令人沮丧的问题。

感谢您的帮助!

最佳答案

由于这是一个已知的错误,我有一种替代方法来解决这个问题。将您的脚本包含在 If 语句 中,如下所示:

if (window.location.pathname.split('.jpg') < 1) {
    //
    // Your script here.
    //
}

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

关于google-chrome-extension - Chrome 扩展内容脚本注入(inject)图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17998868/

相关文章:

javascript - 尝试通过自定义扩展从 Google Chrome 上下文菜单启动 JNLP

google-chrome-extension - 当页面操作有弹出窗口时如何判断页面操作被单击

google-chrome - chrome.identity.getProfileUserInfo 意味着返回什么?

google-chrome-extension - chrome扩展程序开发中的“Error during storage.set: Quota exceeded”

javascript - Chrome 扩展内容页面的 wicked-good-xpath

google-chrome - 更新扩展程序时,Chrome 存储会受到什么影响?

jquery - 速度测试.net api

javascript - 在 Chrome 扩展中动态附加 SVG Sprite

javascript - 使用javascript获取远程url最后修改日期

javascript - Chrome 内容脚本未加载 chrome.google.com