首次安装Chrome扩展程序后,打开“帮助”页面

时间:2011-04-21 14:54:49

标签: google-chrome google-chrome-extension

我是Chrome扩展新用户。我有一个问题,关于如何使扩展程序在安装后自动打开“帮助”页面。目前,我可以通过将值保存到localStorage来检查扩展是否第一次运行。但只有在单击工具栏上的图标时才会执行此检查。只是想知道是否有一种方式喜欢FF扩展,它在安装后使用javascript打开帮助页面。感谢。

编辑: 感谢davgothic的回答。我已经解决了这个问题。 我有关于弹出窗口的另一个问题。我的扩展程序会检查当前标签的网址,

if OK(url){
    //open a tab and do something
}
else{
    //display popup
}
是否有可能以这种方式显示弹出窗口?

5 个答案:

答案 0 :(得分:56)

检查Chrome提供的此更新且最可靠的解决方案:chrome.runtime Event

chrome.runtime.onInstalled.addListener(function (object) {
    chrome.tabs.create({url: "http://yoursite.com/"}, function (tab) {
        console.log("New tab launched with http://yoursite.com/");
    });
});

将此添加到您的background.js我的意思是您在清单上定义的页面,如下所示,

....
"background": {
      "scripts": ["background.js"],
      "persistent": false
  }
...

答案 1 :(得分:25)

  

更新:不再推荐此方法。请参阅Nuhil's more recent answer below

我相信您需要做的就是将这样的内容放入扩展程序背景页的<head>部分的脚本中,例如: background.html

function install_notice() {
    if (localStorage.getItem('install_time'))
        return;

    var now = new Date().getTime();
    localStorage.setItem('install_time', now);
    chrome.tabs.create({url: "installed.html"});
}
install_notice();

答案 2 :(得分:5)

最好放置一个“版本”号码,以便了解何时更新或安装扩展程序。

这里已经回答: Detect Chrome extension first run / update

答案 3 :(得分:1)

截至目前(2020年11月),在首次安装或更新扩展程序时执行代码的正确方法是使用runtime.onInstalled事件。

此事件记录在这里:https://developer.chrome.com/extensions/runtime#event-onInstalled

chrome.runtime.onInstalled.addListener(function (details) {
  if (details.reason === "install") {
    // Code to be executed on first install
    // eg. open a tab with a url
    chrome.tabs.create({
      url: "https://google.com"
    });
  } else if (details.reason === "update") {
    // When extension is updated
  } else if (details.reason === "chrome_update") {
    // When browser is updated
  } else if (details.reason === "shared_module_update") {
    // When a shared module is updated
  }
});

此代码可以添加到后台脚本中:https://developer.chrome.com/extensions/background_pages

答案 4 :(得分:0)

您需要做的就是将下面的代码段添加到background.js文件中

chrome.runtime.onInstalled.addListener(function (object) {
    chrome.tabs.create({url: `chrome-extension://${chrome.runtime.id}/options.html`}, function (tab) {
        console.log("options page opened");
    });
});