如何包括在Webkit的通知链接?(How to include a link in a Webki

2019-10-17 16:46发布

我创建一个Chrome扩展,我使用了Webkit的通知API。 我需要显示在通知的链接,但问题是,现在的Webkit HTML通知被弃用,因此,我只能用通知一条简单的消息。 我的意思是,一年前我已经创建了一个Wbkit HTML通知,包括“一个”元素,但现在我不能。

有没有一种方法来显示一个WebKit的通知链接? 谢谢。

Answer 1:

为了使WebKit的通知链接,做到这一点(我使用jQuery事件只是因为它更容易):

var notification = window.webkitNotifications.createNotification(
  "http://www.google.com/images/logo.png", // icon url - can be relative
  "Google", // notification title
  "is the best search engine. Click to find out more"  // notification body text
);
// Show the notification, I'm assuming notifications are supported and allowed
notification.show();

jQuery(notification).click(function(){
    window.location = "http://www.google.com";
});


Answer 2:

是的,你可以显示,检查此代码作为参考。

的manifest.json

注册背景页和权限需要通知

{
    "name": "Notification with Link",
    "description": "http://stackoverflow.com/questions/14731996/how-to-include-a-link-in-a-webkit-notification",
    "manifest_version": 2,
    "version": "1",
    "permissions": [
        "notifications"
    ],
    "background": {
        "scripts": [
            "background.js"
        ]
    }
}

background.js

创建一个HTML通知

// create a HTML notification:
var notification = webkitNotifications.createHTMLNotification(
    'notification.html' // html url - can be relative
);

// Then show the notification.
notification.show();

notification.html

添加脚本标记,以避免CSP

<html>

    <head>
        <script src="notification.js"></script>
    </head>

    <body>
        <a id="click" href="http://www.google.co.in/">Click Me</a>
    </body>

</html>

notification.js

只是指出了点击的通知,可用于扩展的任何功能。

document.addEventListener("DOMContentLoaded", function () {
    document.getElementById("click").addEventListener("click", function () {
        console.log("Clicked");
    });
});

参考

  • 通知API
  • CSP


文章来源: How to include a link in a Webkit notification?