2011-04-16 15 views
7

लोड करने में असफल होने पर पता लगाएँ और लॉग इन करें मेरे पास बाहरी जेएस और सीएसएस संसाधनों के एकाधिक <head> संदर्भ हैं। अधिकांशतः, ये तीसरे पक्ष के विश्लेषण जैसे चीजों के लिए हैं, समय-समय पर (अजीब तरह से), ये संसाधन लोड होने में असफल होते हैं, जिसके परिणामस्वरूप अक्सर ब्राउज़र टाइमआउट होते हैं। बाहरी जावास्क्रिप्ट या सीएसएस संसाधन लोड होने में असफल होने पर सर्वर को पहचानना और लॉग करना संभव है?बाहरी जावास्क्रिप्ट या सीएसएस संसाधन

मैं कुछ प्रकार की आलसी लोडिंग तंत्र पर विचार कर रहा था कि जब विफलता पर, इस विफलता को लॉग करने के लिए एक विशेष यूआरएल कहा जाएगा। वहाँ कोई सुझाव है?

क्या मुझे लगता है कि होता है:

  1. उपयोगकर्ता हमारे पेज और सर्वर साइड प्रक्रियाओं को सफलतापूर्वक पेज

  2. ग्राहक पक्ष पर हिट और कार्य करता है, HTML शीर्षक हमारे 3 से कनेक्ट करने की कोशिश करता है पार्टी एकीकरण भागीदारों, आमतौर पर एक जावास्क्रिप्ट द्वारा "http: //www.someothercompany.com ..." से शुरू होता है।

  3. दूसरी कंपनी हमारे भार को संभाल नहीं सकती है या समय-समय पर शर्मिंदा हो सकती है, और इसलिए कनेक्शन विफल हो जाता है।

  4. उपयोगकर्ता एक सामान्य आईई पृष्ठ नहीं मिला, हमारे सर्वर से कोई नहीं।

तो भले ही अपनी साइट ऊपर था और बाकी सब कुछ ठीक चल रहा है, सिर्फ इसलिए कि यह एक तीसरे पक्ष के सर्वरों के लिए बाहर कॉल, विफल रहा है HTML पृष्ठ शीर्षक में से एक है, हम शुरू करने के लिए एक पूरी विफलता मिलता है।

+1

@hippietrail, कृपया उस URL से # comment10730182_538848 हटा दें। – Deebster

+0

यह भी देखें *** [कैसे बताएं कि

1

आप जावास्क्रिप्ट में किसी ऑब्जेक्ट की उपस्थिति को देख सकते हैं, उदा। देखने के लिए अगर jQuery या लोड नहीं है ...

if (typeof jQuery !== 'function') { 
    // Was not loaded. 
} 

jsFiddle

आप सीएसएस शैलियों की अनुपलब्धता भी देख सकते हैं, उदाहरण के लिए, यदि आप जानते हैं कि एक निश्चित सीएसएस फ़ाइल पृष्ठभूमि रंग #000 पर सेट करती है।

if ($('body').css('backgroundColor') !== 'rgb(0, 0, 0)') { 
    // Was not loaded. 
} 

jsFiddle

जब ये विफल हो जाते हैं, तो आप इन विफलताओं को लॉग इन करने के लिए सर्वर पर XHR बना सकते हैं।

+0

यदि पृष्ठ लोड होने में विफल रहता है तो मैं इनमें से कोई भी नहीं कर सकता। स्पष्टीकरण के लिए प्रश्न में किए गए संपादन को देखें। –

-1

जेएस नाम और सत्र कुकी का हैश बनाएं और दोनों जेएस नाम को सादे और हैश में भेजें। सर्वर पक्ष, एक ही हैश बनाओ, यदि दोनों एक ही लॉग हैं, यदि नहीं, तो इसका दुरुपयोग मान लें।

+0

यदि पूरा पृष्ठ लोड करने में विफल रहता है तो मैं कुछ भी हैश नहीं बना सकता। स्पष्टीकरण के लिए प्रश्न में किए गए संपादन को देखें। –

+0

मेरा मतलब है कि आप इसे आलसी लोडिंग तृतीय पक्ष जेएस के साथ जोड़ते हैं, * * आपका पृष्ठ कार्यात्मक हो जाता है; और घटना के साथ अपने 'js_failed_logger.php' को पिंग करें और ईवेंट में हैश लोड करने में विफल रहता है। आपका प्रश्न यह बताता है कि इसे लागू करने के बजाय आप इसका शोषण कर रहे हैं। –

+0

धन्यवाद। मुझे लगता है कि मैं शुरुआत में इसे कैसे कार्यान्वित करना चाहता हूं। अगर यह काम करता है, तो मैं यह समझ सकता हूं कि इसे कैसे सुरक्षित किया जाए। –

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