8

में jQuery मैं jQuery पर कुछ संदेश प्रदर्शित करने के लिए jQuery (http://stanlemon.net/projects/jgrowl.html#samples) के लिए jGrowl प्लगइन का उपयोग करना चाहता हूं।ScriptManager के साथ समस्या। रजिस्ट्रार क्लाइंटस्क्रिप्टब्लॉक और jQuery एक्सप्लोरर 8

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(), 
    "$.jGrowl('" + message + "');", true); 

कोड फ़ायरफ़ॉक्स/क्रोम/सफारी में सही काम करता है: ऐसा करने के लिए, मैं इस तरह ScriptManager.RegisterClientScriptBlock विधि कॉल। हालांकि इंटरनेट एक्सप्लोरर में मुझे अधिसूचना दिखाई नहीं दे रही है और मुझे कोई जावास्क्रिप्ट त्रुटि नहीं मिली है।

मैं विंडोज 7 के तहत काम करता हूं और मेरे पास इंटरनेट एक्सप्लोरर 8 बीटा (संस्करण 8.0.7000.0) है और मेरे पास संगतता मोड के तहत एक ही "बग" है।

मैं इस समस्या को कैसे हल कर सकता हूं?

उत्तर

12

यह समस्या तब होती है क्योंकि IE8 को उम्मीद है कि सभी डीओएम तत्वों को डीओएम में संशोधनों से पहले लोड किया जा सकता है। मैं jGrowl के साथ वर्णित समस्या को डुप्लिकेट करने में सक्षम था।

इसे ठीक करने के लिए, मैंने बस अपनी स्क्रिप्ट को संशोधित किया ताकि दस्तावेज़ तैयार होने के बाद jGrowl को कॉल किया जा सके। यहाँ अद्यतन कोड है:

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), 
    Guid.NewGuid().ToString(), 
    "$(function(){$.jGrowl('" + message + "');});", true); 
+0

आपके उत्तर के लिए धन्यवाद। मैंने आपको ठीक करने की कोशिश की, लेकिन यह अभी भी काम नहीं कर रहा है। इस तथ्य के कारण हो सकता है कि मेरे पास पृष्ठ पर अपडेट पैनल है? –

+0

मैंने इस कोड को एक अपडेट पैनल के साथ परीक्षण किया और यह ठीक काम किया। क्या आपने वास्तव में ऊपर दिए गए कोड को कॉपी/पेस्ट किया था? क्या आपको ब्राउज़र में कोई जावास्क्रिप्ट त्रुटियां मिल रही हैं? –

+0

यदि ऐसा करने के बाद, आपको अभी भी कोई समस्या है, तो आपको बीटा के बजाय IE8 के अंतिम संस्करण में अपडेट करने की आवश्यकता हो सकती है। –

2

पृष्ठ पर <form runat="server" id="form1"> जोड़ें। यह काम करेगा ...

0

यदि गलत नहीं है, तो मुझे लगता है कि आपको इसे क्लाइंट साइड पेज में जोड़ना होगा।

<script language="javascript" type="text/javascript" id="forModalPopUp"> 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_initializeRequest(InitializeRequest); 
    prm.add_endRequest(EndRequest); 
    function InitializeRequest(sender, args) { 
    } 
    function EndRequest(sender, args) { 
    } 
</script> 

अधिक जानकारी के लिए, this पर एक नज़र डालें।

संबंधित मुद्दे