【问题标题】:Chrome extension that replaces images with other images用其他图像替换图像的 Chrome 扩展程序
【发布时间】:2017-08-10 06:59:54
【问题描述】:

我怎样才能做一个用其他图像替换图像的 Chrome 扩展程序?

到目前为止,这是我的 ma​​nifest.json 代码:

{
  "name": "HaramB",
  "version": "69.0.420.666",
  "manifest_version": 2,
  "description": "This is HaramB's own extension!",
  "browser_action": {
    "default_icon": "images/icon.png",
    "default_popup": "popup.html",
    "default_title": "HaramB"
  },
  "permissions": [
    "activeTab",
    "https://ajax.googleapis.com/"
  ],
  "icons": {
    "128": "images/icon.png"
  },
  "web_accessible_resources": [
    "images/nicolas.jpg"
  ],
  "content_scripts": [{
    "matches": ["http://*/*", "https://*/*"],
    "js": ["onPage.js"],
    "css": ["onPage.css"]
  }]
}

这是我的 onPage.js 代码:

var picture = "images/nicolas.jpg";
document.getElementsByTagName("img").setAttribute("src", picture);

不要关心 popup.htmlonPage.css 文件。

这是我希望它处理的 onPage.js 文件,如果不可能,请告诉我。

【问题讨论】:

    标签: javascript json image replace google-chrome-extension


    【解决方案1】:

    document.getElementsByTagName() 返回一个元素数组。这意味着您需要遍历数组并单独调用所需的方法,如下所示:

    var picture = "images/nicolas.jpg",
        images = document.getElementsByTagName("img");
    
    for (var i = 0; i < images.length; i++) {
        images[i].setAttribute("src", picture);
    };
    

    注意:最好使用images[i].src = ... 而不是使用setAttribute 作为detailed in this question

    【讨论】:

    • document.images
    • @ppajer 它有点工作,但所有图像都只是显示为未找到。是 css 吗?
    • @JUSTSOMERANDOMGUY 您需要获取一个绝对 url 设置为 src,否则它将尝试相对于当前 url 查找它。如果图像存储在您的扩展程序中,you have to get it via chrome.extension.getUrl()
    猜你喜欢
    • 2022-11-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 2018-09-24
    • 2015-01-25
    相关资源
    最近更新 更多