سؤال

إذا وضعت نافذة. لماذا هو كذلك؟

أي المتصل:

var worker = new Worker("worker.js");
// Watch for messages from the worker
worker.onmessage = function(e){
  // The message from the client:
  e.data
};
worker.postMessage("start");

العميل (العامل. js)

onmessage = function(e){
  if ( e.data === "start" ) {
    // Do some computation
    done()
  }
};

function done(){
  alert('don');  // ===> This kills the worker.
  // Send back the results to the parent page
  postMessage("done");
}
هل كانت مفيدة؟

المحلول

هل لاحظت أن التنبيه يتجمد محرك JavaScript حتى ينقر المستخدم على موافق.

إذا كنت لا تريد أن تتجمد لا تستخدم التنبيهات.

لتصحيح الأخطاء مع Firebug:

console.log("bla bla bla");

من أجل القفل المنبثق:

اصنع Div مخفيًا مع زر موافق عليه. عندما يتم عرض المنبثقة. ضع div مرئية. عندما ينقر المستخدم على "موافق" إخفاءه.

أنصحك بعدم استخدام النوافذ المنبثقة. كما أنه يكسر "تدفق العمل" (يعني تركيز المستخدم) للمستخدم خلف الشاشة :)

نصائح أخرى

هل يمكن لعامل الويب الوصول إلى Window.Alert ... أعرف أن عمال الويب لا يحصلون على الوصول إلى DOM ..

في العامل ، لماذا لا تفعل

if (window && window.alert) {
   // do your normal thing
}
else {
   postMessage("no support for this");
}

يتيح لك عمال الويب تشغيل رمز JavaScript في الخلفية. لا يمكن لعمال الويب استدعاء وظيفة Alert () أو تأكيد ().

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