我正在为Chrome创建扩展程序,其中一项功能是最终用户可以将人员添加为联系人。
目前,联系人通过AJAX保存到数据库,之后会显示一个桌面通知,告诉用户该契约已经完成。
但是,我想首先询问用户他是否确定要这样做。因此,我想要在通知中创建新通知,这是一个疯狂的想法。
首先,确认HTML通知将从background.html创建并显示。它包含一个按钮,点击它后,它应该运行AJAX函数并创建第二个通知,其中包含反馈。
然而,我似乎无法做到这一点。我无法从通知中运行createNotification(),sendRequest()似乎也没有通过,我也不能使用来自background.html的onClose监听器,因为我想区分点击“是”按钮和“否”按钮。
我有什么方法可以做到这一点?如果没有,那么应该如何实现确认对话框呢?
答案 0 :(得分:1)
您是否尝试过使用chrome.extension.getBackgroundPage()?这可以提供您所需的后台页面API的访问权限。例如,当您单击是时,您的第一个通知页面会调用以下内容;
function yesClicked() {
chrome.extension.getBackgroundPage().showSecondNotification();
}
后台页面声明showSecondNotification
方法如下;
function showSecondNotification() {
webkitNotifications.createHTMLNotification(
chrome.extension.getURL('notification2.html')
).show();
}
希望这会导致显示第二个通知。我以前在我的扩展中使用了类似的方法,但仅用于从后台页面检索信息。但是,我认为没有理由不这样做。