<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ## 概述 Notification API是瀏覽器的通知接口,用于在用戶的桌面(而不是網頁上)顯示通知信息,桌面電腦和手機都適用,比如通知用戶收到了一封Email。具體的實現形式由瀏覽器自行部署,對于手機來說,一般顯示在頂部的通知欄。 如果網頁代碼調用這個API,瀏覽器會詢問用戶是否接受。只有在用戶同意的情況下,通知信息才會顯示。 下面的代碼用于檢查瀏覽器是否支持這個API。 ~~~ if (window.Notification) { // 支持 } else { // 不支持 } ~~~ 目前,Chrome和Firefox在桌面端部署了這個API,Firefox和Blackberry在手機端部署了這個API。 ~~~ if(window.Notification && Notification.permission !== "denied") { Notification.requestPermission(function(status) { var n = new Notification('通知標題', { body: '這里是通知內容!' }); }); } ~~~ 上面代碼檢查當前瀏覽器是否支持Notification對象,并且當前用戶準許使用該對象,然后調用Notification.requestPermission方法,向用戶彈出一條通知。 ## Notification對象的屬性和方法 ### Notification.permission Notification.permission屬性,用于讀取用戶給予的權限,它是一個只讀屬性,它有三種狀態。 * default:用戶還沒有做出任何許可,因此不會彈出通知。 * granted:用戶明確同意接收通知。 * denied:用戶明確拒絕接收通知。 ### Notification.requestPermission() Notification.requestPermission方法用于讓用戶做出選擇,到底是否接收通知。它的參數是一個回調函數,該函數可以接收用戶授權狀態作為參數。 ~~~ Notification.requestPermission(function (status) { if (status === "granted") { var n = new Notification("Hi!"); } else { alert("Hi!"); } }); ~~~ 上面代碼表示,如果用戶拒絕接收通知,可以用alert方法代替。 ## Notification實例對象 ### Notification構造函數 Notification對象作為構造函數使用時,用來生成一條通知。 ~~~ var notification = new Notification(title, options); ~~~ Notification構造函數的title屬性是必須的,用來指定通知的標題,格式為字符串。options屬性是可選的,格式為一個對象,用來設定各種設置。該對象的屬性如下: * dir:文字方向,可能的值為auto、ltr(從左到右)和rtl(從右到左),一般是繼承瀏覽器的設置。 * lang:使用的語種,比如en-US、zh-CN。 * body:通知內容,格式為字符串,用來進一步說明通知的目的。。 * tag:通知的ID,格式為字符串。一組相同tag的通知,不會同時顯示,只會在用戶關閉前一個通知后,在原位置顯示。 * icon:圖表的URL,用來顯示在通知上。 上面這些屬性,都是可讀寫的。 下面是一個生成Notification實例對象的例子。 ~~~ var notification = new Notification('收到新郵件', { body: '您總共有3封未讀郵件。' }); notification.title // "收到新郵件" notification.body // "您總共有3封未讀郵件。" ~~~ ### 實例對象的事件 Notification實例會觸發以下事件。 * show:通知顯示給用戶時觸發。 * click:用戶點擊通知時觸發。 * close:用戶關閉通知時觸發。 * error:通知出錯時觸發(大多數發生在通知無法正確顯示時)。 這些事件有對應的onshow、onclick、onclose、onerror方法,用來指定相應的回調函數。addEventListener方法也可以用來為這些事件指定回調函數。 ~~~ notification.onshow = function() { console.log('Notification shown'); }; ~~~ ### close方法 Notification實例的close方法用于關閉通知。 ~~~ var n = new Notification("Hi!"); // 手動關閉 n.close(); // 自動關閉 n.onshow = function () { setTimeout(n.close.bind(n), 5000); } ~~~ 上面代碼說明,并不能從通知的close事件,判斷它是否為用戶手動關閉。 ## 參考鏈接 * Aurelio De Rosa,?[An Introduction to the Web Notifications API](http://www.sitepoint.com/introduction-web-notifications-api/) * MDN,?[Notification](https://developer.mozilla.org/en-US/docs/Web/API/Notification)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看