سؤال

كيف أجعل متصفح المستخدم طرفة/فلاش/تسليط الضوء في شريط المهام باستخدام جافا سكريبت ؟ على سبيل المثال, إذا قمت بعمل طلب اياكس كل 10 ثوان لمعرفة ما إذا كان المستخدم لديه أي رسائل جديدة على الملقم أريد للمستخدم يعرفون ذلك الحق بعيدا ، حتى لو كان باستخدام تطبيق آخر في ذلك الوقت.

تحرير:هؤلاء المستخدمين لا تريد أن يصرف عند وصول رسالة جديدة.

هل كانت مفيدة؟

المحلول

هذا لن يجعل شريط المهام زر فلاش في تغيير الألوان ، ولكن لقب وميض وإيقاف حتى تحريك الماوس.هذا يجب أن تعمل عبر منصة ، وحتى إذا كان لديهم فقط في علامة تبويب مختلفة.

newExcitingAlerts = (function () {
    var oldTitle = document.title;
    var msg = "New!";
    var timeoutId;
    var blink = function() { document.title = document.title == msg ? ' ' : msg; };
    var clear = function() {
        clearInterval(timeoutId);
        document.title = oldTitle;
        window.onmousemove = null;
        timeoutId = null;
    };
    return function () {
        if (!timeoutId) {
            timeoutId = setInterval(blink, 1000);
            window.onmousemove = clear;
        }
    };
}());

التحديث:قد ترغب في النظر في استخدام HTML5 الإخطارات.

نصائح أخرى

لقد قدم البرنامج المساعد مسج لغرض وامض رسائل الإعلام في المتصفح شريط العنوان.يمكنك تحديد خيارات مختلفة مثل الوميض المتقطع, المدة, إذا كان وامض يجب أن تتوقف عند النافذة/علامة التبويب يحصل مركزة ، إلخ.البرنامج المساعد يعمل في فايرفوكس, كروم, سفاري, IE6, IE7 و IE8.

هنا هو مثال على كيفية استخدامها:

$.titleAlert("New mail!", {
    requireBlur:true,
    stopOnFocus:true,
    interval:600
});

إذا كنت لا تستخدم مسج, قد لا تزال تريد أن تبدو في التعليمات البرمجية المصدر (هناك عدد قليل من ملتوي البق حافة الحالات التي تحتاج للتغلب عند القيام العنوان وامض إذا كنت تريد أن تدعم بشكل كامل جميع المتصفحات الرئيسية).

يفترض يمكنك القيام بذلك على ويندوز مع تذمر ويندوز جافا سكريبت API:

http://ajaxian.com/archives/growls-for-windows-and-a-web-notification-api

المستخدمين سوف تضطر إلى تثبيت تذمر على الرغم من.

في نهاية المطاف هذا هو الذهاب إلى أن تكون جزءا من جوجل التروس ، في شكل NotificationAPI:

http://code.google.com/p/gears/wiki/NotificationAPI

لذا أنصح باستخدام تذمر النهج الآن يتراجع إلى نافذة عنوان التحديثات إذا كان ذلك ممكنا ، و بالفعل الهندسة في محاولات استخدام التروس إعلام API ، عندما يصبح في نهاية المطاف المتاحة.

بلدي "واجهة المستخدم" الاستجابة:هل أنت متأكد المستخدمين أريد برامج التصفح الخاصة بهم وامض أو لا تعتقد هذا ما يريدون ؟ لو واحد باستخدام البرمجيات الخاصة بك, أنا أعرف أنني سأكون منزعجا إذا هذه التنبيهات حدث في كثير من الأحيان و في طريقي.

إذا كنت متأكدا من أنك تريد أن تفعل ذلك بهذه الطريقة ، واستخدام جافا سكريبت مربع التنبيه.هذا ما تقويم Google لا تذكيرات الحدث ، وأنها ربما وضع بعض التفكير في ذلك.

صفحة ويب ليس أفضل وسيلة الحاجة إلى معرفة التنبيهات.إذا كنت تصميم شيئا على غرار "ZOMG ، الملقمات أسفل!" التنبيهات ، الآلي رسائل البريد الإلكتروني أو رسائل SMS إلى حق الناس قد تفعل خدعة.

الطريقة الوحيدة التي أستطيع أن أفكر في القيام بذلك هو عن طريق القيام بشيء مثل alert('لديك رسالة جديدة') عند تلقي الرسالة.هذا فلاش شريط المهام إذا تم تصغير نافذة ، ولكن فإنه سيتم أيضا فتح مربع الحوار الذي قد لا تريد.

لماذا لا تأخذ النهج الذي يستخدم GMail و تظهر عدد الرسائل في صفحة العنوان ؟

في بعض الأحيان لا تريد المستخدمين أن يصرف عند وصول رسالة جديدة.

                var oldTitle = document.title;
                var msg = "New Popup!";
                var timeoutId = false;

                var blink = function() {
                    document.title = document.title == msg ? oldTitle : msg;//Modify Title in case a popup

                    if(document.hasFocus())//Stop blinking and restore the Application Title
                    {
                        document.title = oldTitle;
                        clearInterval(timeoutId);
                    }                       
                };

                if (!timeoutId) {
                    timeoutId = setInterval(blink, 500);//Initiate the Blink Call
                };//Blink logic 

قد ترغب في محاولة النافذة.التركيز() - ولكن قد يكون مزعج إذا كانت الشاشة مفاتيح حول

يمكنك تغيير عنوان صفحة ويب مع كل رسالة جديدة لتنبيه المستخدم.أنا فعلت هذا المتصفح دردشة العميل و معظم المستخدمين يعتقد انها عملت جيدا بما فيه الكفاية.

document.title = "[user] hello world";

AFAIK, لا توجد وسيلة جيدة للقيام بذلك مع الاتساق.كنت كتابة أي فقط المستندة إلى ويب عميل IM.لقد انتهى الأمر باستخدام نافذة.التركيز () ، والذي يعمل معظم الوقت.في بعض الأحيان أنها سوف تتسبب فعلا النافذة لسرقة التركيز من التطبيق في المقدمة التي يمكن أن تكون مزعجة حقا.

هؤلاء المستخدمين لا تريد أن يصرف عند وصول رسالة جديدة.

يبدو أنك الكتابة التطبيق داخلي شركة المشروع.

قد ترغب في التحقيق كتابة نوافذ صغيرة في التطبيق .صافي الذي يضيف إخطار رمز و لا يتوهم بالنوافذ أو بالون بالنوافذ أو أيا كان, عندما تحصل على رسائل جديدة.

هذا ليس من الصعب بشكل مفرط و أنا متأكد إذا كنت تسأل إذا كيف يمكنني إظهار أيقونة صينية " و " كيف أفعل المنبثقة الإخطارات سوف تحصل على بعض الردود :-)

للعلم أنا متأكد من أن (عدا استخدام تنبيه/مربع الحوار مطالبة) لا يمكنك فلاش شريط المهام في JS, لأن هذا هو بشدة ويندوز محددة و شبيبة حقا لا يعمل مثل هذا.قد تكون قادرا على استخدام بعض أي محددة ويندوز عناصر تحكم activex ، ولكن بعد ذلك يمكنك إلحاق أي على الفقراء المستخدمين.لا تفعل ذلك :-(

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top