Rumah >hujung hadapan web >tutorial js >Contoh Pemberitahuan Desktop HTML5

Contoh Pemberitahuan Desktop HTML5

Jennifer Aniston
Jennifer Anistonasal
2025-02-24 10:34:13755semak imbas

Demo Pemberitahuan Desktop HTML5 dan Penjelasan Terperinci

hello semua! Hari ini saya akan menunjukkan kepada anda bagaimana untuk melaksanakan pemberitahuan desktop menggunakan HTML5 dan sedikit kod JavaScript melalui demonstrasi mudah.

Projek GitHub

HTML5 Desktop Peringatan Maklumat Latar Belakang

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

Menurut ujian saya, anda hanya boleh memaparkan sehingga 4 peringatan pada satu masa dan mereka akan beratur, jadi apabila anda mematikan satu, yang seterusnya akan dipaparkan, dan sebagainya. Juga, anda tidak boleh meletakkan hiperpautan di dalamnya (ini akan menjadi ciri yang hebat). Penampilan peringatan desktop ditunjukkan di bawah.

HTML5 Desktop Notifications Example Seperti kebanyakan ciri -ciri ini, anda akan diminta untuk memberi kuasa atas sebab -sebab keselamatan.

HTML5 Desktop Notifications Example HTML5 Desktop Notifications Example skrip

Skripnya sangat mudah, ia hanya menggunakan

untuk menghasilkan peringatan desktop dengan tajuk dan mesej.

webkitNotifications

FAQ Pemberitahuan Desktop HTML5 (Soalan Lazim)
<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>

Bagaimana untuk meminta kebenaran untuk pemberitahuan desktop HTML5?

Untuk meminta kebenaran kepada pemberitahuan desktop HTML5, anda perlu menggunakan kaedah

. Kaedah ini mendorong pengguna untuk membenarkan atau menghalang laman web anda daripada menghantar pemberitahuan. Harus diingat bahawa kaedah ini harus dicetuskan oleh tindakan pengguna (seperti mengklik butang) untuk mengelakkan disekat dari penyemak imbas dari menyekat permintaan kebenaran yang dimulakan oleh interaksi bukan pengguna.

Notification.requestPermission() Bolehkah saya menyesuaikan penampilan pemberitahuan desktop html5?

Ya, anda boleh menyesuaikan penampilan pemberitahuan desktop HTML5. Anda boleh menetapkan tajuk, teks badan, ikon, dan juga mod getaran peranti mudah alih anda. Walau bagaimanapun, tahap penyesuaian mungkin berbeza -beza oleh pelayar dan sistem operasi.

Adakah pemberitahuan desktop HTML5 disokong oleh semua pelayar?

Tidak, tidak semua penyemak imbas menyokong pemberitahuan desktop HTML5. Kebanyakan pelayar moden seperti Chrome, Firefox, dan Safari menyokong mereka, tetapi Internet Explorer tidak. Ia sentiasa disyorkan untuk memeriksa keserasian ciri ini dengan pelayar yang berbeza.

Bagaimana untuk mematikan pemberitahuan desktop HTML5?

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.

Bolehkah saya menghantar pemberitahuan desktop html5 apabila penyemak imbas tidak aktif?

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.

Bagaimana menangani acara klik pada pemberitahuan desktop HTML5?

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.

Bolehkah saya menggunakan pemberitahuan desktop html5 dalam penyemak imbas mudah alih saya?

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.

Apakah sekatan atau sekatan apabila menggunakan pemberitahuan desktop HTML5?

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.

Bolehkah saya menggunakan pemberitahuan desktop html5 di pekerja web?

Ya, anda boleh menggunakan pemberitahuan desktop HTML5 dalam pekerja web. Walau bagaimanapun, anda perlu menggunakan kaedah self.registration.showNotification() dan bukan pembina pemberitahuan.

Bagaimana untuk memeriksa sama ada pengguna telah memberikan kebenaran kepada pemberitahuan desktop HTML5?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn