2011-04-14 19 views
12

के कारण फोकस खो देता है हमारे उत्पाद में, हम अपने एएसपी.नेट वेबसाइट में jQuery मोबाइल का सबसे हालिया विकास संस्करण उपयोग कर रहे हैं। प्रत्येक बार जब हम एएसपी.NET पोस्टबैक करते हैं, तो ब्राउजर विंडो स्क्रीन के पीछे जाती है।आईई 9 विंडो jQuery मोबाइल

उदाहरण:

  • किसी भी विंडो को बड़ा करें। उदाहरण: दृश्य स्टूडियो, वर्ड, विंडोज एक्सप्लोरर।
  • आईई 9 को अधिकतम करें। आईई 9 स्क्रीन पर दिखाई देने वाली एकमात्र चीज है।
  • हमारे समाधान में एक बटन पर क्लिक करें जो एक पोस्टबैक करता है।
  • आईई 9 अब दिखाई नहीं दे रहा है।

    • jQuery मोबाइल स्क्रिप्ट शामिल न करें: जो भी पीछे अब था ध्यान केंद्रित

    केवल समाधान मुझे पता है (और स्क्रीन पर आ जाएगा, के रूप में यह को बड़ा किया है)।

  • सुनिश्चित करें कि विंडोज 9 में आईई 9 एकमात्र अधिकतम विंडो है।

मुझे नहीं पता कि jQuery मोबाइल पृष्ठभूमि में क्या कर रहा है और मुझे लगता है कि यह आईई 9 में एक बग है जिसे अंततः तय किया जाएगा। हालांकि, अगर आपके पास इस दौरान होने से रोकने के बारे में कोई सुझाव था, तो यह बहुत अच्छा होगा।

संपादित करें: ऐसा लगता है कि यह प्रत्येक पोस्टबैक पर नहीं है। यह प्रत्येक पोस्टबैक पर है जो एक Response.Redirect करता है। मुझे यह जोड़ना चाहिए कि मेरे सभी पोस्टबैक वास्तव में एएसपी.NET AJAX का उपयोग कर रहे हैं, पूर्ण पोस्टबैक नहीं।

+5

पुनश्च: मैं बहुत हैरान है कि जावास्क्रिप्ट इस तरह से प्रणाली विंडोज़ ऑपरेटिंग प्रभावित कर सकते हैं कर रहा हूँ। –

+0

क्या आपके पास वीएस से जुड़े डीबग मोड में आपका एप्लीकेशन है? –

+0

नहीं। बाहरी सर्वर पर होने पर भी ऐसा होता है। –

उत्तर

16

मैं जानता हूँ कि यह एक पुरानी पोस्ट है, लेकिन लोगों को गूगल से यहाँ आने के लिए:

मैं आज यह एक ही मुद्दे में भाग गया। ऐसा लगता है कि जब आप विंडो ऑब्जेक्ट पर धुंधला ईवेंट ट्रिगर करते हैं तो यह आईई करता है जब आईई करता है। इस कोड है कि मेरे लिए इस समस्या के कारण किया गया था: जब वहाँ ध्यान में कोई अन्य तत्व हैं

$(document.activeElement).blur(); 

activeElement शरीर तत्व लागू हो जाएगी, और कलंक घटना तो खिड़की से ऊपर बुलबुले। इसे ठीक करने के लिए मैंने बस एक चेक किया:

if (document.activeElement != $('body')[0]) { 
    $(document.activeElement).blur(); 
} 
+0

यह समझ में आता है, लेकिन मेरे पास इसका परीक्षण करने का समय ठीक नहीं है क्योंकि हमें एक और कामकाज (क्रोम फ्रेम, हे) मिला है :) –

10

मुझे आईई 10 और jQuery 1.7.2 के साथ समान समस्या थी। मैं अपने कोड में इन पंक्तियों पाया:

$(document.activeElement).blur(); 

और

$(':focus').blur(); 

तो, resolves समस्या सरल .not ('शरीर') जोड़ने:

$(document.activeElement).not('body').blur(); 
$(':focus').not('body').blur(); 
+0

अच्छी तरह से लिखित उत्तर और सुरुचिपूर्ण समाधान, मेरे लिए काम किया, बहुत धन्यवाद! – 4imble

0

यह वही मुद्दा लगता है jQuery मोबाइल 1.4.2 के साथ होने के लिए।

आईई 10 का उपयोग करते समय, एक टैब खोलने के साथ और उसी मॉनीटर पर एक और विंडो, यदि आप पॉपअप खोलते हैं तो यह ब्राउज़र को पृष्ठभूमि में भेज देगा।

इसे ठीक करने के लिए आपको _handleDocumentFocusIn फ़ंक्शन को संपादित करना होगा।

target.blur();

को
if (targetElement.nodeName.toLowerCase() !== "body") 
{ 
    target.blur(); 
} 

मैं एक पुल अनुरोध इसलिए उम्मीद है कि यह अगले संस्करण में शामिल किया जाएगा बनाया: आप लाइन (10,391) है कि पढ़ता बदलने की जरूरत है।

0

बस इस लिंक को किसी भी व्यक्ति को पोस्ट करना जो इस निरंतर गड़बड़ी का अधिक अनुभव कर रहा है। मैं कोणीय स्थान संसाधन के भीतर से एक खिड़की पर आईई 9 और आईई 10 पर समस्या देख रहा हूं। स्थान = 'ब्लाह'।

यह मेरे लिए समस्या का समाधान करने लगते हैं नहीं है, लेकिन यह दूसरों की मदद कर सकते हैं:

http://support.microsoft.com/kb/2600156/en-us