سؤال

كنت تريد أن تكون قادرة على إغلاق مربع تنبيه تلقائيا باستخدام جافا سكريبت بعد كمية معينة من الزمن أو على حدث معين (أيonkeypress).من بحثي ، فإنه لا يبدو ذلك ممكنا مع المدمج في التنبيه() وظيفة.هل هناك طريقة لتجاوز ذلك السيطرة على مربع الحوار الذي يفتح ؟

أيضا, أنا لا أريد تجاوز هذا يدل خفية شعبة كما في حالة تأهب.أنا بحاجة فعلية مربع الحوار.

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

المحلول

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

نصائح أخرى

ويبدو يمكنك إلى حد ما تحقيق شيء مماثل مع إعلام API.لا يمكنك التحكم في كيفية طويلة كان مرئيا (ربما OS تفضيل من نوع ما--ما لم يتم تحديد requireInteraction صحيح) ، و ذلك يتطلب من المستخدم انقر فوق "السماح الإخطارات" (للأسف) ، ولكن هنا هو:

إذا كنت تريد أن تغلق بعد 1s:

var notification = new Notification("Hi there!", {body: "some text"});
setTimeout(function() {notification.close()}, 1000);

إذا أردت أن تظهر أطول من "الافتراضي" هل يمكن ربط onclose رد وتظهر آخر كرر الإعلام أفترض أن يحل محله.

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

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

<اقتباس فقرة>   

وأريد أن أكون قادرة على إغلاق تنبيه   المربع تلقائيا باستخدام جافا سكريبت   بعد فترة معينة من الزمن أو على   حدث معين (أي onkeypress)

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

ومربع التمهيد محاولة المساعد.

var alert = bootbox.alert('Massage')
alert.show();
setTimeout(function(){alert.modal('hide'); }, 4000);

وأعتقد أنك يمكن أن تفتح نافذة منبثقة، وندعو <م> أن مربع الحوار. أنا غير متأكد من التفاصيل، ولكن أنا متأكد يمكنك إغلاق نافذة برمجيا التي قمت بفتحها من جافا سكريبت. هل هذا يكفي؟

والبديل الحقيقي الوحيد هنا هو استخدام نوع من أداة مخصصة مع خيار مشروط. إلقاء نظرة على مسج UI للحصول على مثال من الحوار مع هذه الميزات. توجد أشياء مماثلة فقط في كل إطار JS يمكنك ذكرها.

إذا كنت تفعل ذلك برمجيا في JS سيكون مثل إعادة اختراع العجلة. أوصي باستخدام مسج البرنامج المساعد يسمى <لأ href = "http://cool-javascripts.com/effects/jgrowl -to-عرض-غير مزعجة-messages.html "يختلط =" نوفولو noreferrer "> jGrowl

ويمكنك استخدام تسمية وتعيين تتلاشى في ومن الوقت لمنها مثلا إخفائه في البداية، وتظهر على نقرة. $ ( '# div_Message') fadeIn (500) .delay (1000) .fadeOut (1500)؛.

window.setTimeout('alert("Message goes here");window.close();', 5000);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top