Chrome扩展程序搜索字符串然后执行

时间:2015-08-20 23:24:04

标签: javascript google-chrome-extension pushover

通过研究和其他一些代码,我几乎拼凑了我自己的chrome扩展程序,如果页面加载了chrome中包含某些文本的页面,它将使用Pushover通知服务发送警报。

我设法让我的background.js在任何页面加载后发送提醒:

chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab){
if (changeInfo.status == 'complete') {
chrome.tabs.sendRequest(tab.id, {method: 'selection'}, 
function (text) { push_message(tab, text,  
'');

我已经获得了一些java代码来找到一个字符串

if (~document.body.textContent.indexOf('cricket')) { alert("page contains string"); }

但我似乎无法让两者一起工作。我已经阅读了关于将查找字符串java放在contentscript.js中的混合报告?另外,我最好希望我的代码能够搜索多个字符串。所以它会像这样工作:

  • 页面完成加载
  • Javascript搜索页面中的术语板球或足球
  • 如果找到这些术语中的任何一个,它会触发代码发送推送通知(我上面的第一段代码当前位于background.js中)

非常感谢您的任何帮助。

1 个答案:

答案 0 :(得分:1)

在你的manifest.json中你可以做类似

的事情
"content_scripts": [
{
  "matches": ["<all_urls>"],
  "js": ["someContentScript.js"],
  "run_at": "document_start",
  "all_frames": false,
}]

然后在您的内容脚本中,您可以在收到loadDOMContentLoaded事件后进行网页报废。

一旦检测到您的字符串(足球或板球),您就可以使用消息传递API向您的后台页面发送消息。看着 chrome.runtime.sendMessage API。我认为还有另一种方式,但我不确定。

现在,当您使用background.js代码时,可以调用push API。

我希望这会有所帮助。