سؤال

لدي كود JavaScript التالي لإظهار نافذة في Internet Explorer.يتم تنفيذ التعليمات البرمجية من صفحة داخل مربع حوار مشروط Microsoft CRM.(معرف الطلب عبارة عن سلسلة تكون دائمًا هي نفسها في نظام الاختبار - في الوقت الحالي تحتوي على "abcdefg" - بدون علامتي الاقتباس).

var cancelUrl = "CancelRequest.aspx?RequestID=" + RequestID;
alert("About to open a window.\n\n" + cancelUrl);
window.open(cancelUrl);
alert("Window opened");

أتوقع أن أرى رسالة تخبرني بأنني على وشك فتح نافذة.أتوقع بعد ذلك أن أرى نافذة مفتوحة وأتلقى رسالة أخرى حول فتح النافذة.لا أهتم حقًا بترتيب الحدثين الأخيرين؛التنبيهات موجودة حتى أعرف أن الكود قد تم تنفيذه.

لدي جهازي كمبيوتر وجهاز كمبيوتر افتراضي.جميع تشغيل IE7.على Windows 2003 VPC، تظهر الرسائل والنوافذ المنبثقة في كل مرة دون فشل.

على جهازي الكمبيوتر الشخصي Vista وWinXP، تظهر الرسائل ولكن النافذة المنبثقة تظهر بشكل متقطع فقط.(أعتقد أن هذا قد يكون هو الحال على جهاز الكمبيوتر الشخصي الذي يعمل بنظام التشغيل Vista أيضًا).

الثلاثة لديهم إعدادات متطابقة في IE.تم تعطيل مانع النوافذ المنبثقة في IE ولم يتم تثبيت أي أدوات حظر للنوافذ المنبثقة الأخرى.

هل يستطيع أحد تسليط ضوء على هذا؟

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

المحلول

آه، أعتقد أنني حصلت عليه...ضاعت في الوصف..

أنت تحاول فتح غير مشروط نافذة او شباك من حوار مشروط في أي.

هذا AFAIK، لا ينبغي أن يعمل.

حاول فتح نافذة مشروطة أخرى بدلاً من ذلك.

بفعالية أنت تقول...

في النافذة A، افتح النافذة المشروطة B، والآن افتح النافذة غير المشروطة C، وهي غير صالحة حقًا.

نصائح أخرى

هذا الرمز بسيط.استخدم مصحح الأخطاء وشاهد ما يحدث.

تحقق من هذا الموقع باستخدام FireFox أو Chrome، فلديهم مصححات أخطاء JS.

يحرر:

أضف كتلة المحاولة/الالتقاط حولها window.open() ومعرفة ما إذا كان هناك بعض الاستثناءات هناك.

تحرير 2:

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

قد ترغب في تجربة Firebug lite، والذي سيعمل مع IE.

http://getfirebug.com/lite.html

تعتبر تجربة المحاولة/الالتقاط التي ذكرها الآخرون فكرة جيدة أيضًا.أظن.

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

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