التعليق: يمكن للإشعارات سطح المكتب في HTML5 الخروج مربع رسالة في نافذة الصفحة الحالية. يمتد مربع الرسالة هذا إلى نافذة علامة التبويب. يكون هذا التذكير أكثر ملاءمة عندما يفتح المستخدمون علامات تبويب متعددة لتصفح صفحة الويب ويسهل رؤيتها.
يمكن أن تظهر إشعارات سطح المكتب في HTML5 مربع رسالة في نافذة الصفحة الحالية. يمتد مربع الرسالة هذا إلى نافذة علامة التبويب. يعد هذا التذكير أكثر ملاءمة وسهلة للمستخدمين لمعرفة متى يفتح المستخدمون علامات تبويب متعددة لتصفح صفحات الويب. حاليا ، طالما أن ويب kernel يدعم هذه الوظيفة.يجب تمكين هذه الميزة في Chrome في وضع HTTP.
يتم تطبيق وظيفة تذكير سطح المكتب بواسطة كائن Window.WebKitNotifications (ويب كيت kernel).
لا يحتوي كائن window.webkitnotifications على سمات ، وهناك أربع طرق:
1.requestpermission ()
يتم استخدام هذه الطريقة لطلب إذن تذكير الرسائل للمستخدم. إذا لم يتم فتح الإذن حاليًا ، فسوف يظهر المتصفح واجهة التفويض. بعد أن يصرح المستخدم ، يتم إنشاء قيمة الحالة (عدد صحيح من 0 أو 1 أو 2) داخل الكائن:
0: هذا يعني أن المستخدم يتفق على تذكير الرسائل ، ويمكن استخدام وظيفة تذكير المعلومات فقط في هذه الحالة ؛
1: يشير إلى الحالة الافتراضية ، لا يرفض المستخدم ولا يوافق ؛
2: يشير إلى أن المستخدم يرفض تذكير الرسائل.
2. فحص ()
يتم استخدام هذه الطريقة للحصول على قيمة حالة الإذن المطلوبة بواسطة requestPermission ().
3. CreateNotification ()
تنشئ هذه الطريقة رسالة تذكير في رسالة نقية ، تقبل ثلاث معلمات سلسلة:
Iconurl: عنوان الأيقونة المعروض في الرسالة ،
العنوان: عنوان الرسالة ،
الجسم: محتوى نص الجسم
ستعود هذه الطريقة إلى كائن إشعار ، والذي يمكن تعيينه للمزيد.
خصائص وطرق كائن الإخطار:
دير: ""
onclick: لاغ
onclose: لاغية
ondisplay: وظيفة (حدث) {
Oneerror: NULL
Onshow: NULL
استبدال: ""
العلامة: ""
__proto__: الإخطار
AddEventListener: Function AddEventListener () {[الكود الأصلي]}
إلغاء: وظيفة إلغاء () {[رمز أصلي]}
إغلاق: وظيفة الإغلاق () {[الكود الأصلي]}
مُنشئ: إشعار الوظيفة () {[الكود الأصلي]}
DispatchEvent: Function DispatchEvent () {[Code Code]}
RemoveEventListener: وظيفة removeEventListener () {[الكود الأصلي]}
عرض: وظيفة العرض () {[الكود الأصلي]}
__proto__: كائن
DIR: قم بتعيين اتجاه الترتيب للرسائل ، ويمكن اعتبار القيم تلقائيًا (AUTO) ، LTR (من اليسار إلى اليمين) ، RTL (من اليمين إلى اليسار).
العلامة: إضافة اسم علامة إلى الرسالة. إذا تم تعيين هذه الخاصية ، عندما يكون هناك تذكير جديد للرسائل ، سيتم عرض الرسائل ذات العلامة نفسها فقط في مربع الرسالة نفسه ، وسيحل مربع الرسالة الأخير محل السلسلة السابقة. بخلاف ذلك ، ستظهر مربعات مطالبات الرسائل المتعددة ، لكن القيمة القصوى ستعرض 3 مربعات رسائل ، إذا كان أكثر من 3 ، سيتم حظر إشعار الرسائل اللاحق.
Onshow: المشغلات عند عرض مربع الرسالة ؛
OnClick: يتم تشغيل هذا الحدث عند النقر فوق مربع الرسالة ؛
Onclose: المشغلات عند إغلاق الرسالة ؛
onerror: يحفز الحدث عند حدوث خطأ ؛
طريقة:
AddEventListener && removenseventListener: General Add and Alement Methods ؛
عرض: إظهار مربع تذكير الرسائل ؛
أغلق: أغلق مربع تذكير الرسالة ؛
إلغاء: أغلق مربع تذكير الرسائل ، تمامًا مثل الإغلاق ؛
4.createhtmlnotification ()
الفرق بين هذه الطريقة و createNotification () هو أنه ينشئ رسالة في HTML ، وقبول المعلمة: عنوان URL لملف HTML ، وهذه الطريقة تُرجع أيضًا كائن الإخطار.
مثال:
<! doctype html>
<html>
<head>
<title> الإخطارات في html5 </itlem>
</head>
<body>
<Porm>
<type type = "button" value = "إرسال إشعار" />
</form>
<script type = "text/javaScript">
document.getElementById ("trynotification"). onClick = function () {
إخطار (Math.Random ()) ؛
} ؛
وظيفة الإخطار (علامة التبويب) {
if (! window.webkitnotifications) {
العودة كاذبة
}
var semission = window.webKitNotifications.CheckPermission () ؛
إذا (إذن! = 0) {
Window.WebKitNotifications.requestpermission () ؛
var requesttime = new date () ؛
var waittime = 5000 ؛
var checkperminisec = 100 ؛
setTimeout (function () {
إذن = window.webKitNotifications.CheckPermission () ؛
إذا (إذن == 0) {
createNotification (علامة التبويب) ؛
} آخر إذا (تاريخ جديد ()-requesttime <waittime) {
setTimeout (encuments.callee ، checkperminisec) ؛
}
} ، checkperminisec) ؛
} آخر إذا (إذن == 0) {
createNotification (علامة التبويب) ؛
}
}
وظيفة createNotification (علامة التبويب) {
var showsec = 10000 ؛
var icon = "http://tech.baidu.com/resource/img/logo_news_137_46.png" ؛
var + date ()
var body = "Hello World ، أنا معلومات webkitnotifications" ؛
var popup = window.webKitNotifications.CreateNotification (أيقونة ، عنوان ، الجسم) ؛
popup.tag = علامة التبويب ؛
popup.ondisplay = function (event) {
setTimeout (function () {
event.currentTarget.cancel () ؛
} ، disply) ؛
}
popup.show () ؛
}
</script>
</body>
</html>