दिलचस्प पोस्ट
मैं पायथन / Django का उपयोग कर HTML डिकोडिंग / एन्कोडिंग कैसे करूं? क्यों नहीं TextBox। WPF एनिमेटेड में पाठ? सीएसएस 3 का उपयोग करके एसवीजी ड्रॉप साइड तृतीय-पक्ष पुस्तकालयों का उपयोग किए बिना PHP में छवियों का आकार बदलना चाहते हैं? प्रपत्र के समापन ईवेंट पर पृष्ठभूमिवर्कर कैसे रोकें? वस्तु, परम, jquery जावा: थ्रेड का उपयोग कैसे करें जावा ईई 6 में जावा वेब अनुप्रयोग बनाने के लिए क्या सीखें? एंड्रॉइड – आस्तियों \ पीडीएस डिस्प्ले से एक्सेस फ़ाइल साइड-बाय-साइड COM इंटरॉप सी # और वीबीए के साथ cqlsh कनेक्शन त्रुटि: 'रेफरी () खोजशब्द तर्क' UIPanGestureRecognizer – केवल ऊर्ध्वाधर या क्षैतिज MySQL में विदेशी कुंजी की मूल बातें? UIWebView के कंटेंट आकार का निर्धारण कैसे करें? ऐप एक्सेस टोकन प्राप्त करने का प्रयास कर रहा है

किसी पृष्ठ में जावास्क्रिप्ट वाक्यविन्यास त्रुटियों को अनदेखा करें और स्क्रिप्ट निष्पादित करना जारी रखें

मैं WordPress के लिए प्लगइन्स विकसित करता हूं यह एक jquery प्लगइन के रूप में उपयोगकर्ता पक्ष (विषयों) में कुछ jquery का उपयोग करता है समस्या यह है, जब अन्य autors द्वारा बनाई गई अन्य प्लगइन्स के साथ एक जावास्क्रिप्ट त्रुटि है, तो मेरे प्लगइन का जावास्क्रिप्ट निष्पादित करने में विफल रहता है।

और सबसे बुरी बात यह है कि लोगों का मानना ​​है कि मेरे प्लगइन के साथ एक गंभीर गलती है, हालांकि यह सशर्त बयान को संभालने में त्रुटि के साथ 100% ठीक काम करता है। लेकिन यह वास्तव में कुछ अन्य WP प्लगइन / थीम लेखकों की कुछ अन्य जावास्क्रिप्ट वाक्यविन्यास त्रुटियों के कारण है।

अन्य जेएस त्रुटियों को अनदेखा करने के लिए मेरे प्लगइन जेनर को निष्पादित करने का एक तरीका है। या मैं इस समस्या को संभालने के लिए सुझाव दे सकता हूं ??

यहां छवि विवरण दर्ज करें

Solutions Collecting From Web of "किसी पृष्ठ में जावास्क्रिप्ट वाक्यविन्यास त्रुटियों को अनदेखा करें और स्क्रिप्ट निष्पादित करना जारी रखें"

प्रयत्न :

 window.onerror = function(){ return true; } 

यह है कि यदि आप बग़ीबद्ध स्क्रिप्ट निष्पादित होने से पहले इसे शामिल कर सकते हैं।

आपको पुरानी जावास्क्रिप्ट त्रुटि को सही करना चाहिए क्योंकि यह कई समस्याएं पैदा कर सकता है, अभी के लिए नहीं बल्कि अगली बार के लिए

अपनी जावास्क्रिप्ट फ़ाइल / कोड को शीर्ष पर रखें (जेएस होने से पहले त्रुटि है), और जावास्क्रिप्ट को दूसरे जावास्क्रिप्ट कोड से पहले कॉल करें।

यदि आपको चलाने के समय जावास्क्रिप्ट अपवाद को संभालना है, तो सबसे अच्छा विकल्प है

 try { /* run js code */ } catch (error){ /* resolve the issue or bug */ } 

आपको error इवेंट का उपयोग करते हुए किसी भी त्रुटि को निगलने में सक्षम होना चाहिए:

 $(window).error(function(e){ e.preventDefault(); }); 

मैंने कभी यह प्रयास नहीं किया है, लेकिन यह सिद्धांत में काम करना चाहिए।

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

मुझे एक ही समस्या का सामना करना पड़ा: वहाँ बहुत सारे मान्यताओं बनाने और आपके पृष्ठ पर जावास्क्रिप्ट त्रुटियों का कारण होने पर भी प्लगिन का एक गुच्छा होता है, भले ही आप एक अच्छा नागरिक रहें; इन त्रुटियों को आपके प्लगइन के साथ कुछ नहीं करना है

अन्य प्लगइन्स में त्रुटियों को संभालने का कोई मतलब नहीं है – आईएमओ स्वयं को समाहित करने के लिए बेहतर है, लेकिन उनकी त्रुटियों के लिए लचीला है

मेरे मामले में, त्रुटियाँ jquery DOM तैयार घटना को रोकने थे, और मेरी जावास्क्रिप्ट init कोड निष्पादित नहीं हो रहा था। त्रुटि का सटीक रूप हालांकि महत्वपूर्ण नहीं है – समाधान केवल कई ईवेंट पर आग लगाना है।

मेरे लिए समाधान jQuery DOM तैयार घटना पर भरोसा करने के अलावा फ़ॉलबैक भी था:

  1. मैंने किसी भी कोड को लपेटा था जिसे मैं डोम तैयार घटना पर अपने स्वयं के फ़ंक्शन में आग करना चाहता था – जैसे my_hardened_init_action ();
  2. मैंने एक फ़ंक्शन जोड़ा, my_hardened_init (), जो केवल एक बार चलाता है। यह my_hardened_init_action () को पहली बार कॉल किया जाता है, और बाद के कॉल में कुछ भी नहीं करता है।
  3. मैंने WordPress पाद लेख में my_hardened_init () को कॉल करने के लिए विभिन्न तरीकों को जोड़ा है। मेरे मामले में, मुझे केवल दो की जरूरत थी। सबसे पहले, सामान्य जीओएम डोम init की कोशिश कर रहा है, लेकिन एक सरल setTimeout () पर वापस गिरने। तो अगर जावास्क्रिप्ट के कारण jQuery DOM init कभी नहीं चलता, तो समय समाप्त हो जाएगा जब पेज लोड हो रहा है।

आप कई अन्य फ़ॉलबैक जोड़ सकते हैं – ज़रूरत होने पर भी शीर्ष लेख में कोड जोड़ें जैसा कि my_hardened_init () केवल एक बार चलाता है, आप इसे ट्रिगर करने के लिए जितनी बार कोशिश कर सकते हैं।

इसने अन्य टूटी हुई प्लगइन्स की एक श्रेणी के साथ क्लाइंट साइट्स के एक समूह पर काम किया है

उम्मीद है की यह मदद करेगा।

window.onerror बारे में क्या? window.onerror ?

https://developer.mozilla.org/en-US/docs/DOM/window.onerror

यदि आप पृष्ठ चल रहा है उपयोग:

$(window).error(function(e){ e.preventDefault(); }); // IGNORE ALL ERROR JQUERY!

या उपयोग:

window.onerror = function(){ return true; } // IGNORE ALL ERROR JAVASCRIPT!

 <script> var _z = console; Object.defineProperty(window, 'console', { get: function(){ if (_z._commandLineAPI) { return true; } return _z; }, set: function(val) { _z = val; } }); </script> 

नियमित रूप से पकड़ने वाले बयान इन प्रकार की त्रुटियों के लिए काम नहीं करेंगे।

संभावित समाधान:

JQuery के बजाय बाईं ओर पट्टी को फ्लोट करने के लिए इनलाइन-सीएसएस का उपयोग करें (मुझे यकीन नहीं है कि आपके प्लगइन का पूरा कार्य क्या है, लेकिन अगर यह सिर्फ बाएं बार तैरती है तो सीएसएस का उपयोग क्यों नहीं किया जाता?)

एक अदृश्य आइफ्रेम है जो माता-पिता के पृष्ठ पर कुछ कोड चलाने का प्रयास करता है। अगर यह उपयोगकर्ता को चेतावनी (इस iframe के भीतर से) से विफल हो जाता है तो यह आपकी गलती नहीं है 🙂

शायद आप अपने जेएस को एक html ऑब्जेक्ट में डालने की कोशिश कर सकते हैं, ताकि इसे एक अलग पेज पर निष्पादित किया जा सके। वह संभवतः बहुत मदद नहीं करेगा यदि मुख्य पेज पर जे एस वस्तु के साथ इंटरैक्ट करने के लिए न चलें। बस के साथ खेलने के लिए कुछ

अपनी कॉल को प्लगइन में डालें

 try{ ...... } catch(e){ }