इंटरनेट एक्सप्लोरर में अजीब व्यवहार पॉप-अप विंडो खोलना

मेरे पास इंटरनेट एक्सप्लोरर में एक विंडो पॉप अप करने के लिए निम्न जावास्क्रिप्ट कोड है। कोड को एक Microsoft CRM मोडल संवाद बॉक्स के भीतर किसी पृष्ठ से निष्पादित किया जाता है। (RequestID एक स्ट्रिंग है जो हमेशा परीक्षण प्रणाली में समान होती है - फिलहाल इसमें "abcdefg" होता है - उद्धरण के बिना)।

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

मुझे एक संदेश देखने की उम्मीद है कि मैं एक खिड़की खोलने वाला हूं। मैं फिर खिड़की खोलने की उम्मीद करता हूं और खिड़की खोले जाने के बारे में एक और संदेश प्राप्त करता हूं। मुझे वास्तव में पिछले दो घटनाओं के आदेश की परवाह नहीं है; अलर्ट वहां हैं इसलिए मुझे पता है कि कोड निष्पादित किया गया है।

मेरे पास दो पीसी और वर्चुअल पीसी हैं। सभी चल रहे आईई 7। विंडोज 2003 वीपीसी पर, संदेशों और पॉप-अप हर बार असफल होने पर दिखाई देते हैं।

विस्टा पीसी और विनएक्सपी पीसी पर, संदेश दिखाई देते हैं लेकिन पॉप-अप केवल अंतःक्रियात्मक रूप से दिखाई देता है। (मुझे लगता है कि यह Vista पीसी पर भी हो सकता है)।

इन तीनों में आईई में समान सेटिंग्स हैं। सभी में आईई पॉप-अप अवरोधक अक्षम है और इसमें कोई अन्य पॉप-अप अवरोधक स्थापित नहीं है।

क्या कोई इस पर प्रकाश डाला सकता है?

0

3 उत्तर

आह, मुझे लगता है कि मुझे मिल गया ... विवरण में इसे याद किया ...

आईई में एक मोडल संवाद से एक गैर-मोडल विंडो खोलने की कोशिश कर रहे हैं

यह AFAIK, काम नहीं करना चाहिए।

इसके बजाय एक और मोडल विंडो खोलने का प्रयास करें।

प्रभावी रूप से आप कह रहे हैं ...

विंडो ए पर, मोडल विंडो बी खोलें, अब गैर-मोडल विंडो सी खोलें, जो वास्तव में मान्य नहीं है।

0
जोड़ा

आप फायरबग लाइट को आजमा सकते हैं, जो आईई के लिए काम करेगा।

http://getfirebug.com/lite.html

अन्य लोगों का प्रयास/पकड़ने का भी एक अच्छा विचार है। मुझे लगता है।

इसके अतिरिक्त, क्या कोई मौका है कि पॉप-अप एक विंडो का उपयोग करने की कोशिश कर रहा है जो पहले से ही खुला है लेकिन कम से कम है। तो यह काम नहीं कर रहा प्रतीत होता है लेकिन यह वास्तव में कम से कम विंडो को फिर से लोड कर रहा है?

0
जोड़ा

यह कोड सरल है। डीबगर का प्रयोग करें और देखें कि क्या हो रहा है।

फ़ायरफ़ॉक्स या क्रोम के साथ उस साइट को जांचें, उनके पास जेएस डिबगर्स हैं।

संपादित करें:

window.open() के आस-पास प्रयास/पकड़ ब्लॉक जोड़ें और देखें कि वहां कुछ अपवाद है या नहीं।

2 संपादित करें:

अब मैं देखता हूं कि आप requestId के रूप में अक्षर भेज रहे हैं। आपको यह जांचना चाहिए कि वह यूआरएल उस तरह के मूल्य को संभाल सकता है या नहीं। चूंकि नाम RequestId है, मैं कहूंगा कि वहां एक बड़ा मौका है कि संख्यात्मक केवल पैरामीटर होना चाहिए। यदि यह सही है, तो यह हो सकता है कि जब आप विंडो खोलने का प्रयास करते हैं तो सर्वर पक्ष क्रैश हो जाता है और तब कुछ भी नहीं होता है। प्रयास/पकड़ ब्लॉक और परीक्षण सेट करने के लिए और अधिक कारण।

0
जोड़ा
दुर्भाग्य से मैं इन ब्राउज़रों का उपयोग नहीं कर सकता क्योंकि वे डायनेमिक्स सीआरएम के साथ काम नहीं करते हैं (जब तक कि मुझे कुछ याद नहीं आ रहा है)।
जोड़ा लेखक BlackWasp, स्रोत
विजुअल स्टूडियो 2008 डीबगर का इस्तेमाल किया। Window.open कॉल किया जाता है लेकिन कुछ नहीं होता :-(
जोड़ा लेखक BlackWasp, स्रोत
जोड़ा कोशिश/पकड़ - कोई त्रुटि नहीं, कोई खिड़की नहीं
जोड़ा लेखक BlackWasp, स्रोत
जावास्क्रिप्ट या एचटीएमएल शायद आईई विशिष्ट है। हो सकता है कि आप इसे किसी एक ब्राउज़र में चलाने की कोशिश कर सकें और प्रश्न में पृष्ठ पर नेविगेट कर सकें।
जोड़ा लेखक zendar, स्रोत
एक और विचार - उस कोड के चारों ओर कोशिश/पकड़ जोड़ें। इसे फ़ंक्शन में रखें और अपवाद पकड़ने का प्रयास करें।
जोड़ा लेखक zendar, स्रोत