在Windows窗体中使用javascript的桌面通知

Din*_*ire 7 javascript c# notifications

我是新手,我正在创建一个简单的应用程序,我单击一个按钮,应显示桌面上的通知.我正在这样做windows form c#

错误是" NullReferenceException was unhandled

Notify在form1中有一个按钮.我试过这个:

Form1.cs的

     public Form1()
            {
                InitializeComponent();
                this.Load += new EventHandler(Form1_Load);
                webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
                webBrowser1.ScriptErrorsSuppressed = true;
            }

            private void btnNotify_Click(object sender, EventArgs e)
            {
                webBrowser1.Document.InvokeScript("notifyMe");
            } 

 private void Form1_Load(object sender, EventArgs e)
        {
            string CurrentDirectory = Directory.GetCurrentDirectory();
            webBrowser1.Navigate(Path.Combine(CurrentDirectory,"HTMLPage1.html"));
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            webBrowser1.ObjectForScripting = this;
Run Code Online (Sandbox Code Playgroud)

HTMLPage1.html的代码:

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script language="javascript" type="text/javascript">
    document.addEventListener('DOMContentLoaded', function () {
    if (Notification.permission !== "granted")
    Notification.requestPermission();
    });

    function notifyMe() {
    if (!Notification) {
    alert('Desktop notifications not available in your browser. Try Chromium.');
    return;
    }

    if (Notification.permission !== "granted")
    Notification.requestPermission();
    else {
    var notification = new Notification('Notification title', {
    icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
    body: "Hey there! You've been notified!",
    });

    notification.onclick = function () {
    window.open("http://stackoverflow.com/a/13328397/1269037");
    };

    }

    }
    </script>
</head>
<body>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

即使我只是放入alert("Hi")notifyMe()函数,没有别的.仍然显示相同的错误.

ERRORMSG

kon*_*nzo 0

如果 html 和脚本没有自动放置,则必须将它们放入调试目录中。这就是 getcurrentdirectory() 发挥作用的地方。