मैं उपयोगकर्ताओं के लिए फ्रंटएंड पेज लोड की गति में सुधार करने की कोशिश कर रहा हूं, और मुझे लगता है कि jQuery DomContentLoaded ईवेंट को 100ms से अधिक तक धीमा कर रहा है।क्या jQuery 100p या उससे अधिक वेबपृष्ठों के प्रतिपादन को धीमा कर देता है?
मैं आई 7 2.5 गीगा, एसएसडी ड्राइव और 8 जीबी रैम वाले कंप्यूटर का उपयोग कर क्रोम 17 के साथ विंडोज 7 पर बेंचमार्किंग कर रहा हूं। परीक्षण मेरे स्थानीय कंप्यूटर पर चलाया जाता है। मुझे चिंता है कि मेरी मशीन पर धीमी गति से मैं पुराने कंप्यूटर और ब्राउज़र पर धीमा हो जाऊंगा।
क्या यह सिर्फ jQuery का उपयोग करने के लिए मानक जुर्माना है, या क्या मुझे लगता है कि प्रदर्शन को तेज करने का कोई तरीका है?
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
console.time("DOMContentLoaded");
</script>
</head>
<body>
<h1>Hello World</h1>
<script type="text/javascript" src="/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", ready, false);
function ready() {
console.timeEnd("DOMContentLoaded");
}
</script>
</body>
</html>
कंसोल पर, समय है कि मैं देख रहा हूँ मोटे तौर पर ~ 100ms है:
यहाँ कोड है कि मैं का उपयोग कर रहा है।
जब मैं jQuery को लोड करने वाली रेखा को हटा देता हूं, तो समय लगभग ~ 1ms होता है।
मैं भी गूगल CDN का उपयोग करके उपरोक्त कोड की कोशिश की:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
परिणाम काफी हद तक एक ही है।
क्या jQuery का उपयोग करने के लिए हमेशा 100ms जुर्माना होता है? क्या मुझे याद आ रही है कि वहाँ कुछ है? धन्यवाद!
jQuery के साथ कोड को डीओएम के अंदर तैयार करने का प्रयास करें: '$ (तैयार);' – gdoron
हाय gdoron - यह 100ms देरी वास्तव में अन्य जावास्क्रिप्ट चलाने के बिना, jQuery को लोड करने के लिए होती है। ऐसा प्रतीत होता है कि केवल अतिरिक्त जावास्क्रिप्ट के लिए मदद मिलेगी। – Chris
यह हालिया लेख आपकी रुचियों के लिए प्रासंगिक हो सकता है: "[jQuery कर का भुगतान करना बंद करें] (http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax)" द्वारा @ [ सैम केसर] (http://stackoverflow.com/users/17174/sam-saffron) – Piskvor