1

通过研究和其他一些代码,我几乎拼凑了我自己的 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 中)

非常感谢您的帮助。

4

1 回答 1

2

在您的 manifest.json 中,您可以执行类似的操作

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

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

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

现在,一旦你进入你的 background.js 代码,你就可以调用你的pushAPI。

我希望这有帮助。

于 2015-08-21T06:02:12.510 回答