相关疑难解决方法(0)

Chrome扩展程序代码与内容脚本与注入脚本

我试图让我的Chrome扩展程序在init()加载新页面时运行该功能,但我无法理解如何执行此操作.根据我的理解,我需要在background.html中执行以下操作:

  1. 使用chrome.tabs.onUpdated.addListener()来检查时,页面变更
  2. 使用chrome.tabs.executeScript运行的脚本.

这是我的代码:

//background.html
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    chrome.tabs.executeScript(null, {code:"init();"});
});

//script.js
function init() {
    alert("It works!");
}
Run Code Online (Sandbox Code Playgroud)

我也想知道init()函数是否可以访问其他JS文件中的其他函数?

javascript scope google-chrome-extension content-script

57
推荐指数
1
解决办法
5万
查看次数

GM_getTab(cb)如何工作?

似乎没有有关这些功能如何工作的任何信息。我认为这些是Tampermonkey专有功能?
看起来它们旨在允许当前正在运行的Tampermonkey脚本之间进行通信。持续轮询GM_Value存储以进行更改的替代方法。这是一个非常有趣的想法。

但是我不知道如何使用它们。他们采用什么价值观,您得到什么样的对象?
您如何使用这三个功能,我的目的是否正确?

GM_getTab(cb)
获取一个持久对象,只要此选项卡处于打开状态。

GM_saveTab(tab)
保存标签对象,以在页面卸载后重新打开它。

GM_getTabs(cb)
获取数组中的所有选项卡对象,以便与其他Scrip实例进行通信。

http://forum.tampermonkey.net/viewtopic.php?f=16&t=74

userscripts tampermonkey

4
推荐指数
1
解决办法
1422
查看次数