我正在制作我的第一个Chrome扩展程序。目前,只是为了掌握一切,这非常简单。我正在跟踪用户点击的所有链接,然后在一天结束时,我想通过电子邮件向用户发送所有链接的列表。我将链接存储在名为firebase的数据库中。
我的问题是:当用户安装我的Chrome扩展程序时,我想要显示一个要求发送电子邮件的页面,这是将在一天结束时通过电子邮件发送链接的电子邮件。我很困惑这个页面将在扩展中实现的位置,因为我只希望它出现在扩展的安装上。现在我有一个"注入"脚本是一个内容脚本和一个"背景"脚本。
我不确定在哪里编辑我的清单以及要添加的脚本。我想我应该在" Page_Action"我的清单。任何有关如何做到这一点的帮助或示例将不胜感激!谢谢
此外,我不一定要使用登录Chrome的用户的电子邮件,用户应该可以输入任何不相关的电子邮件。
答案 0 :(得分:1)
这样做的想法如下:
创建所需的页面和脚本,并将其放入扩展文件夹。
在您的背景页面中,您可以收听chrome.runtime.onInstalled
事件。
请注意,它将触发超过初始安装。一种合理的方法是在注册完成后设置某种标志 - 并检查该标志。请注意,最好使用chrome.storage.sync
(需要"storage"
权限):然后通过Extension Sync安装的扩展程序副本不会再次对用户造成错误。
如果用户跳过注册,但您无论如何都需要注册,那么尝试在chrome.runtime.onStartup
检查注册可能会很有用。
如果符合要求,请使用chrome.tabs.create
打开页面。
chrome.windows.create
在页面中,不要忘记设置注册数据,以免再次询问。
全部放在一起:
// Possibly the same with onStartup event
chrome.runtime.onInstalled.addListener(function(details) {
chrome.storage.sync.get("registration", function(data) {
if (!data.registration) {
chrome.tabs.create({
url: chrome.runtime.getURL("register.html")
});
}
});
});
在注册页面代码的某处:
chrome.storage.sync.set({registration: someData});