使用Chrome扩展程序在每个页面加载时创建提醒

时间:2012-04-08 05:52:26

标签: google-chrome google-chrome-extension

这是我第一次搞乱扩展,我想做的事情非常简单,但似乎无法让它发挥作用。

我只想在每次加载谷歌页面时调用警报。

在我的manifest.json中,我有:

{
"name": "Bypass shib",
"version": "1.0",
"content_scripts": [
  {
  "matches": ["http://www.google.com/*"],
  "js": ["secondScript.js"]
}
],
"manifest_version": 2
}

好的,现在我的secondScript.js中有:

chrome.tabs.executeScript(null, {code: "alert('test')"});

每当加载页面时,是否应该执行警报?如果没有,有人可以解释为什么不是吗?

2 个答案:

答案 0 :(得分:3)

控制台显示以下消息:

Uncaught Error: "executeScript" can only be used in extension processes.
See the content scripts documentation for more details.

This post建议“Chrome扩展功能无法在内容脚本中使用”,这可能是您遇到的问题。

为了完整起见,对我有效的secondScript.js如下:

console.log("test");
//chrome.tabs.executeScript(null, {code: "alert('test')"});
alert("test");

答案 1 :(得分:1)

Content scripts 可以访问{strong>任何 chrome.tabs.* API方法。

要在每个页面上显示提醒,请移除chrome.tabs.executeScript方法,然后让secondScript.js包含:

alert('Test');

在Chrome扩展程序中,JavaScript可以运行三种种不同的范围。了解这种分离对于编写Chrome扩展程序至关重要,请参阅this answer