- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在开发一个需要在后台运行的小型 Chrome 扩展程序。但是,我知道当我使用弹出窗口时这是不可能的。经过一些阅读,最好的选择似乎是创建 popup.js
以运行 background.js
,使用 chrome.extension.getBackgroundPage()
功能。
有人可以给我举个例子吗?
这是 list :
"browser_action": {
"permissions": ["background"],
"default_popup": "popup.html"},
"options_page": "options.html",
"background": {
"scripts": ["background.js"],
"persistent" : true
}
我在 popup.html
中包含了 popup.js 引用:
<script src="popup.js"></script>
并在popup.js
中创建了一个变量
var bkg = chrome.runtime.getBackgroundPage();
所以现在我需要一种方法来激活 background.js
我是否需要从 popup.js
运行 background.js
中的相关函数,或者给出一个通用命令让 background.js
运行?
最佳答案
是的,您需要在弹出窗口中从后台调用函数。这是一个演示其工作原理的简单示例。
background.js
function backgroundFunction () {
return "hello from the background!"
}
popup.js
(function () {
var otherWindows = chrome.extension.getBackgroundPage();
console.log(otherWindows.backgroundFunction());
})();
当您检查 popup.js 时,您会看到“后台打招呼!”在您的控制台中。 GetBackgroundPage()只需返回背景页面的窗口对象,因为您可能知道所有变量都附加到此窗口对象,因此通过这种方式您将可以访问后台脚本中定义的函数。
有一个示例代码demonstrating this in chrome documentation见Idle Simple Example并查看文件 history.js
关于javascript - chrome.extension.getBackgroundPage() 函数示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146457/
我目前正在尝试使用代码返回网页上显示的第一个*图像: img.src = chrome.extension.getBackgroundPage().imageSrc[0] 0代表第一张图片。这似乎有效
我正在使用 browserify 来管理 Chrome 扩展程序,虽然一般情况下它看起来运行良好,但 browserify 将库代码嵌入到某些包装器中会出现问题。特别是,当从 Chrome 扩展插件访
我正在开发一个需要在后台运行的小型 Chrome 扩展程序。但是,我知道当我使用弹出窗口时这是不可能的。经过一些阅读,最好的选择似乎是创建 popup.js 以运行 background.js,使用
我正在尝试开发一个基本的 Chrome 扩展程序,它根据语音输入事件播放声音(一切都在后台发生)。 这是我的 list { "manifest_version" : 2, "name"
我目前正在构建一个以 create-react-app 为基础的浏览器扩展,尝试使用 getBackgroundPage() 而不是消息传递 API 在后台脚本之间进行通信(我定义了 3 个) 和新标
我正在开发一个 Chrome 扩展,下面的代码只是有时会导致错误,并非总是如此。大多数时候,这个扩展确实能正常工作,但有时它无法获取 getBackgroundPage() 并落入“else”部分。
当我的 chrome 扩展程序在 chrome 启动时加载时,一切似乎都正常并且 chrome.extension.getBackgroundPage() 返回正确的值(从 popup.js 中获取)
当我在 popup.js 中调用 backgroud.js 的函数时,如果 manifest_version 为 2,它就可以工作;如果 manifest_version 为 3,则不起作用。为什么?
我试图从我的内容脚本访问 chrome.runtime.getBackgroundPage() 但我得到: Uncaught TypeError: chrome.runtime.getBackgrou
我正在尝试使用 chrome.extension.getBackgroundPage 函数访问我的扩展程序的后台页面。 但是,我收到以下错误: Uncaught TypeError: chrome.e
我有一个 manifest.json 文件,如下所示: { "name": "Zend Debugger Extension", "version": "0.1", "backgrou
我的 background.js 中有这个: var write = function (line) { if (localStorage["silent"] == true) { chr
我是一名优秀的程序员,十分优秀!