Chrome扩展程序-Chrome启动时执行代码

贝诺伊特·拉斯蒂尔(Benoit Rastier)

我正在开发Chrome扩展程序,并且正在研究chrome启动时如何执行代码。

我有这些文件:

script.js
index.html
manifest.json

在script.js中,我有:

$(document).ready(function() {
    $.getJSON("https://api.twitch.tv/kraken/streams/"+"NameOfStreamer",function(c) {
        if (c.stream == null) {
            ...
        } else {
            ...
        }
    });
});

我想执行此代码不是在HTML完成渲染时而是在Chrome首先启动然后每分钟重新运行时执行。

该想法与相同$(document).ready(),但在Chrome启动时执行。

可汗

请先阅读体系结构概述这不是很长的文字,但非常重要。

弹出窗口仅在打开时才存在。没有的时候没有代码可以运行。

解决方案是使用背景页面:这是一个不可见的页面,它会在Chrome启动后立即创建,并在Chrome的整个生命周期中继续运行。


执行:

在清单中,声明您的后台脚本(按加载顺序):

"background" : {
  "scripts": ["jquery.js", "background.js"]
},

该代码将在Chrome启动后立即运行。无需$(document).ready包装器:

$.getJSON("https://api.twitch.tv/kraken/streams/"+"NameOfStreamer", function(c) {
  /* ... */
});

如果需要重复,可以使用chrome.alarmsAPI或仅使用DOM间隔

getData();
setInterval(getData, 60000); // Once every minute

function getData() {
  $.getJSON("https://api.twitch.tv/kraken/streams/"+"NameOfStreamer", function(c) {
    /* ... */
  });
}

这就解决了获取更新数据的问题。但是背景页面是不可见的。如果要显示数据,则可以使用browserAction弹出窗口。

这样,您可以将扩展名分为处理数据(背景)的部分和显示该数据的弹出窗口。

您将不得不以某种方式从后台请求数据。对于这个问题,如何执行此操作太过广泛了,但是您可以使用Messaging API或直接使用访问后台页面chrome.runtime.getBackgroundPage()您也可以将数据存储在中chrome.storage,可从弹出窗口访问。这可能不是详尽的清单。

另外,根据您的需求,您可能需要查看通知

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

chrome扩展程序:启动时停止加载页面

来自分类Dev

chrome扩展程序:启动时停止加载页面

来自分类Dev

Chrome扩展程序,强制Chrome在启动时打开网址

来自分类Dev

每次应用程序启动时执行代码

来自分类Dev

在程序启动时自动执行代码而不会违反ODR

来自分类Dev

每次应用程序启动时执行代码

来自分类Dev

Chrome扩展程序的指标

来自分类Dev

Chrome扩展程序设置

来自分类Dev

Chrome扩展程序的指标

来自分类Dev

Chrome扩展程序-通知

来自分类Dev

Chrome扩展程序选项

来自分类Dev

如何从Chrome扩展程序启动Chrome应用?

来自分类Dev

从Chrome扩展程序执行程序

来自分类Dev

启动时启动Chrome应用程序

来自分类Dev

我可以通过代码启动Chrome扩展程序API吗?

来自分类Dev

Chrome扩展程序-内容安全政策-执行内联代码

来自分类Dev

chrome桌面应用程序(扩展名)在Mac OS X上启动时不会启动

来自分类Dev

使用扩展程序启动Chrome应用

来自分类Dev

Chrome扩展程序和Blob

来自分类Dev

Chrome扩展程序的Print API

来自分类Dev

扩展程序内的Chrome应用

来自分类Dev

Chrome扩展程序注入iframe

来自分类Dev

关闭Chrome扩展程序选项

来自分类Dev

Chrome扩展程序访问权限

来自分类Dev

Chrome扩展程序的本地存储

来自分类Dev

自动安装Chrome扩展程序

来自分类Dev

从Chrome扩展程序插入MySQL

来自分类Dev

Chrome扩展程序:SendMessage问题

来自分类Dev

Chrome扩展程序用户界面