2012-04-17 12 views
7

के साथ मुझे अपनी समस्या के समाधान का पता लगाने में कठिनाई हो रही है। कोड स्निपेट है:प्रॉम्प्ट() इंटरनेट एक्सप्लोरर 8

var ans = prompt("Mot de passe", ''); 
if (ans != '' && ans != null) 
    __doPostBack('__Page', ans); 
else 
    window.location = "../Erreurs/NotAuthorized.aspx"; 

इस कोड को Internet Explorer 9 के साथ वास्तव में अच्छा काम करता है लेकिन मेरे मुवक्किल विशेष रूप से इंटरनेट एक्सप्लोरर 8 तो मैं IE8 में ieTester साथ यह परीक्षण किया काम कर रहा है। लेकिन समस्या यह है कि प्रॉम्प्ट नहीं दिखाता है और यह स्वचालित रूप से रीडायरेक्ट करता है क्योंकि इनपुट में एक खाली स्ट्रिंग ('') थी।

तो मैं इसे इंटरनेट एक्सप्लोरर 8 के साथ काम करने के लिए कैसे ठीक करूं?

+0

अगर आप दूसरा पैरामीटर के लिए कुछ जोड़ने में कोई फर्क है? –

+0

यदि मैं दूसरे पैरामीटर में (उदाहरण के लिए) 'test' जोड़ता हूं, तो प्रॉम्प्ट न दिखाई देता है। आईएसटेस्टर के साथ एक ज्ञात बग है या यह वास्तविक आईई 8 के साथ काम नहीं करता है? – Soader03

उत्तर

3

यह सुनिश्चित करने के लिए यानी 8 पर एक सुरक्षा बात की तरह लग रहा है, मैं परीक्षण करने के लिए अन्य संस्करणों की जरूरत नहीं है। कॉलिंग prompt() जानकारी के लिए एक स्क्रिप्ट विंडो के बारे में एक चेतावनी उत्पन्न करता है। मैं पेज को रीफ्रेश करने की अनुमति देने के लिए क्लिक कर सकता हूं, प्रॉम्प्ट बॉक्स अपेक्षित के रूप में प्रकट होता है।

यदि आप prompt() का उपयोग करने पर जोर देने जा रहे हैं, तो आपको शायद यह निर्धारित करना होगा कि लक्षित मशीनों पर उस सुरक्षा सेटिंग्स को कॉन्फ़िगर करने के लिए कॉन्फ़िगर किया गया है।

1

इस रिपोर्ट से ऐसा लगता है कि यह आईईटीईस्टर में एक ज्ञात बग है?

http://www.my-debugbar.com/forum/t294-Javascript-Alerts.html

+1

मुझे लगता है कि समस्या यह है कि प्रॉम्प्ट भी नहीं दिख रहा है, कथन के बाद निम्नलिखित नहीं। –

+0

हां, बस धागा देखा ... लेकिन मैं इसे आईई 7 या 6 के साथ काम नहीं कर सकता। – Soader03

7

आईई prompt() को अनुमति देने या इनकार करने के लिए इंटरनेट विकल्पों में एक सेटिंग है।

IE prompt setting http://adamhaskell.net/img/ie-prompt.png

IE8 में डिफ़ॉल्ट रूप से, इस सेटिंग को बंद है। नतीजतन, prompt() पर कॉल को अनदेखा किया जाता है और "" उनके द्वारा वापस कर दिया जाता है।

आपको prompt() का उपयोग नहीं करना चाहिए। एक फॉर्म का प्रयोग करें।

2

माइक्रोसॉफ्ट डेवलपर वेबसाइट हमें बताता है कि "संकेत()" अनुचित है और अब सामान्य रूप से सुरक्षा कारणों से अवरुद्ध:। "डिफ़ॉल्ट रूप से, इस विधि इंटरनेट ज़ोन में सूचना पट्टी द्वारा अवरुद्ध है इस की शुरुआत से दुर्भावनापूर्ण साइटों रोकने में मदद करता स्पूफिंग हमला करता है। "

देखें http://msdn.microsoft.com/en-us/library/ms536673.aspx