سؤال

في تطبيق الويب ASP.NET ، لدي نافذة منبثقة مشروطة مع نافذة Telerik Rad. في هذا المنبثقة ، يوجد زر يجب أن يقوم ببعض الإجراءات في "الكود-بيهيند" ثم إعادة توجيه التطبيق إلى صفحة أخرى.

لإعادة التوجيه ، أستخدم الأمر javaScript 'top.document.location.href = myPage' (تم إرساله إلى المتصفح من الكود مع scriptManager.registerClientsblock (...)).

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

حقيقة أن لا شيء يحدث خلال ثانية قليلة ليست رائعة لأن المستخدم لا يستطيع معرفة ما يفعله التطبيق.

ماذا يمكنني أن أفعل ؟ هل هناك طريقة أفضل للقيام بإعادة التوجيه؟ (أنا جديد جدًا على برمجة JavaScript ...).

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

المحلول

بدلاً من مجرد استدعاء "top.document.location.href = myPage" ، يمكنك استدعاء وظيفة تعرض تراكبًا (على سبيل المثال ، عرض RadaaxloadingPanel على جسم الصفحة الأصل) ثم تعيين عنوان URL الجديد. نرى http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.html للحصول على معلومات حول كيفية عرض لوحات التحميل مع JavaScript.

أعتقد أن التأخير بعد تعيين موقع. Href طبيعي - يستغرق المتصفح/الخادم بعض الوقت لاسترداد الصفحة الجديدة HTML بحيث لا يمكن للصفحة القديمة أن تختفي على الفور.

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