0

As the title says, I am having trouble making jQuery work when a webpage is loaded, it runs a jQuery code to make every picture on the page into Nicolas Cage. I tried doing the code on the console, it runs fine. Here is the code:

Manifest.json

{
  // Required
  "name": "NC",
  "version": "1",
  "description": "NC",
  "manifest_version": 2,
    "content_scripts": [
    {
      "matches": ["*://*/"],
      "js": ["jquery.js", "nicolascage.js"]
    }
  ]
}

And the jQuery code:

$(document).ready(function(){
  $('img').attr('src', 'http://www.dreadcentral.com/img/news/jun11/niccage.jpg');
});

EDIT: I also get an error that says:

content: unsafeWindow retrieval failed! Do you use a script blocker like ScriptNo? 

Any help would be appreciated! :)

4

2 回答 2

0

我只需要执行一个 setTimeout 方法来确保 DOM 和所有其他元素都已加载。我还将 src 设置为 Nicolas Cage 中的所有内容 (*)。这会破坏页面上最初的 JavaScript,但谁在乎呢!这是我的 YouTube 主页:http: //i.stack.imgur.com/T74YF.png

这是完成的扩展,它伪装成一个新的 YouTube 布局:

https://docs.google.com/file/d/0B4u1MIL7eQFrSmwwOHkzY2dGRVU/edit

于 2013-07-01T14:06:47.667 回答
-1

我一直在 Chrome 扩展上使用 jQuery 时遇到问题。

这里有几个选项可供尝试。

  • 用 jQuery 替换 jQuery $ 选择器,因为您永远不知道在特定网页上使用了哪些其他库。例如。Magento 商店使用 Prototype,它也使用 $ 变量。因此,您的 jQuery 可能会根据页面与另一个库混淆。
  • 将整个 jQuery 库添加到 nicolascage.js 的顶部 - 我的意思是复制 jquery.js 的全部内容并将其粘贴到 nicolascage.js 中的 jquery 上方。(这只是为了确保在您的脚本运行之前加载 jQuery)。
  • 看看你试图在哪些页面上运行它:“内容:unsafeWindow 检索失败!你使用像 ScriptNo 这样的脚本阻止程序吗?” 这不是我在浏览器中见过的标准错误,快速的谷歌搜索让我相信它来自一个叫做 tampermonkey 的东西
  • 于 2013-07-01T06:27:12.217 回答