Rumah >hujung hadapan web >tutorial js >Contoh Pemberitahuan Desktop HTML5
Demo Pemberitahuan Desktop HTML5 dan Penjelasan Terperinci
Pemberitahuan membolehkan pengguna diingatkan di luar konteks laman web, seperti penghantaran e -mel.Anda boleh memaparkan, beratur dan menggantikan pemberitahuan. Anda juga boleh menambah ikon ke badan mesej di sebelah kiri yang muncul di sebelah kiri badan mesej. Anda juga boleh menggunakan ahli
untuk instansiasi berganda (hasil kes ini adalah pemberitahuan; pemberitahuan kedua menggantikan pemberitahuan pertama dengan tag
yang sama). [Ketahui lebih lanjut mengenai W3C Web Notifications API] (pautan API Pemberitahuan W3C W3C harus dimasukkan di sini). tag
Seperti kebanyakan ciri -ciri ini, anda akan diminta untuk memberi kuasa atas sebab -sebab keselamatan.
skrip
webkitNotifications
<code class="language-javascript">/* @Copyright: jQuery4u 2012 @Author: Sam Deering @Script: html5desktopalert.js */ (function($,W,D,undefined) { W.JQUERY4U = W.JQUERY4U || {}; W.JQUERY4U.HTML5DESKTOPALERT = { name: "jQuery HTML5 DESKTOP ALERT", namespace: "W.JQUERY4U.HTML5DESKTOPALERT", settings: { //turn into plugin? ... }, cache: { //runtime data, dom elements etc... }, init: function(settings) { this.settings = $.extend({}, this.settings, settings); this.cache.notifications = window.webkitNotifications; this.testBrowserSupport(); this.setupEventHandlers(); }, setupEventHandlers: function() { var _this = this; $('#alert-me-btn').bind('click', function(e) { _this.checkPermission("desktopAlert"); }); }, //tests HTML5 browser support and permission request testBrowserSupport: function() { var $browserMsg = $('#browser-support-msg'); if(this.cache.notifications) { $browserMsg.html("Yay! Notifications are supported on this browser.").parent().addClass('alert-success'); } else { $browserMsg.html("Sorry. Notifications aren't supported on this browser.").parent().addClass('alert-error'); } }, checkPermission: function(callback) { var _this = this; if (this.cache.notifications.checkPermission() == 0) { _this[callback](); } else { this.cache.notifications.requestPermission(function() { if (this.cache.notifications.checkPermission() == 0) _this[callback](); }); } }, desktopAlert: function() { console.log('sending alert...'); var notification = window.webkitNotifications.createNotification("", $('#da-title').val(), $('#da-message').val()); notification.show(); } } $(D).ready( function() { //start up the form events W.JQUERY4U.HTML5DESKTOPALERT.init(); }); })(jQuery,window,document);</code>
Notification.requestPermission()
Bolehkah saya menyesuaikan penampilan pemberitahuan desktop html5?
Adakah pemberitahuan desktop HTML5 disokong oleh semua pelayar?
Anda boleh secara programatik menutup pemberitahuan desktop HTML5 dengan memanggil kaedah close()
pada contoh pemberitahuan. Sebagai alternatif, kebanyakan pemberitahuan desktop akan mempunyai butang dekat yang pengguna boleh mengklik.
Ya, anda boleh menghantar pemberitahuan desktop HTML5 walaupun penyemak imbas anda tidak aktif atau diminimumkan. Walau bagaimanapun, ini memerlukan penggunaan pekerja perkhidmatan dan menolak API, yang merupakan topik yang lebih maju.
Anda boleh mengendalikan acara klik pada pemberitahuan desktop HTML5 dengan menambahkan pendengar acara ke acara "Klik" pada contoh pemberitahuan. Dalam pengendali acara, anda boleh menentukan apa yang perlu berlaku apabila anda mengklik pemberitahuan.
Ya, anda boleh menggunakan pemberitahuan desktop HTML5 dalam penyemak imbas mudah alih anda. Walau bagaimanapun, tingkah laku dan penampilan pemberitahuan mungkin berbeza -beza dengan sistem operasi dan penyemak imbas.
Ya, terdapat beberapa batasan untuk menggunakan pemberitahuan desktop HTML5. Sebagai contoh, pengguna mesti memberikan kebenaran laman web anda untuk memaparkan pemberitahuan. Di samping itu, sesetengah pelayar mungkin mengehadkan kekerapan pemberitahuan untuk mengelakkan spam.
Ya, anda boleh menggunakan pemberitahuan desktop HTML5 dalam pekerja web. Walau bagaimanapun, anda perlu menggunakan kaedah self.registration.showNotification()
dan bukan pembina pemberitahuan.
Anda boleh menyemak sama ada pengguna telah memberikan kebenaran kepada pemberitahuan desktop HTML5 dengan menyemak nilai Notification.permission
. Jika ia "diberikan", pengguna telah memberikan keizinan. Jika ia "ditolak", pengguna telah menyekat pemberitahuan. Jika ia "lalai", pengguna tidak membuat pilihan.
Sila ambil perhatian bahawa pautan imej dalam artikel dikekalkan, tetapi anda perlu memastikan bahawa pautan ini sah. Di samping itu, beberapa teks pautan perlu digantikan dengan alamat pautan sebenar.
Atas ialah kandungan terperinci Contoh Pemberitahuan Desktop HTML5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!