1

我正在创建一个 Chrome 扩展程序,并且正在使用 Webkit 通知 API。我需要在通知中显示一个链接,但问题是现在 Webkit HTML 通知已被弃用,所以我只能使用带有简单消息的通知。我的意思是,一年前我可以创建一个 Wbkit HTML 通知并包含“a”元素,但现在我不能。

有没有办法在 Webkit 通知中显示链接?谢谢。

4

2 回答 2

4

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

清单.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"
        ]
    }
}

背景.js

创建了一个 HTML 通知

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

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

通知.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>

通知.js

只需指向点击通知,可用于扩展任何功能。

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

参考

于 2013-02-07T06:23:31.403 回答
-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";
});
于 2013-05-02T08:28:40.490 回答