में दर्दनाक रूप से धीमा है मुझे XP के लिए IE8 में स्थान हैश को संशोधित करने में समस्या हो रही है। बस बुला:window.location.hash असाइनमेंट आईई 8
self.location.hash = "whatever"
लेता है के बारे में 800ms ~ 1800ms
मुझे नहीं पता कि क्या यह धीमा कर सकते हैं। मैंने कुछ अन्य साइटों पर एक ही निर्देश की जांच की और यह धीमा नहीं है।
कोई संकेत जो इसे इतना धीमा कर सकता है? मुझे खेद है लेकिन मैं एक ऑनलाइन उदाहरण नहीं दे सकता।
संपादित करें: यहाँ मैं आईई कंसोल में क्या मिलता है, इनपुट:
console.log(new Date().getTime());
self.location.hash = "sfdsd";
console.log(new Date().getTime());
उत्पादन:
JOURNAL : 1326468325447
JOURNAL : 1326468327390
undefined
जो लगभग 2000ms बना देता है, अगर मैं सही ढंग से पढ़ा एक भी के लिए, असाइनमेंट: /।
EDIT2:
profileThat 2 3475,00 3475,00 hidden 4 50,07 50,07 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 6 608 eventHandle 8 3525,07 40,06 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 2 595 get 4 20,03 20,03 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 6 419 get 6 10,01 10,01 http://192.168.0.30/kw5/js/yui2/dom/dom.js 96
EDIT3: दो क्लिक के साथ
var profileThat = function() {self.location.hash = "whatever"};
$('#keywatchHeader').click(profileThat);
प्रोफाइलर परिणाम: के बाद से यह काफी स्पष्ट है, और अधिक preofiled कोड प्रतीत नहीं होता :
मैंने जिज्ञासा से पेड़ पर नोड संख्या पर कुछ परीक्षण चलाए और परिणाम आश्चर्यजनक हैं। इस तरह के एक कॉल करने के बाद:
document.getElementsByTagName('*').length; //3621
$('#keywatchPanels').children().remove();
document.getElementsByTagName('*').length; //332
उसके बाद प्रोफाइलर 600 मि.से बजाय1700ms प्रति कॉल देता है! लेकिन मैं शायद ही नोड नंबर के साथ हैशटैग लेखन को प्रभावित करूंगा।
(edit4): मैं इस संबंधित सवाल मिल गया है: Why is this piece of Javascript code so slow? (लेकिन इस सवाल का जवाब यहाँ सिर्फ "इसे हटाने" है)
आपका पृष्ठ कितना बड़ा है? कोई अन्य कोड जो हैश की जांच कर रहा है? – epascarello
आप वास्तव में बड़े से क्या मतलब है? पिक्सेल चौड़ाई, वजन, तत्व?वाईयूआई 2 इतिहास प्रबंधक है जो हैश की जांच कर रहा है लेकिन यह पूरी तरह से यह निर्देश है जो उस समय को बेकार करता है, चाहे मैं इसे कोड, या कंसोल में निकालूं। – BiAiB
मैं इसे पुन: उत्पन्न नहीं कर सकता। IE8.0.6001.18702 पर यहां लगभग 100ms लेता है। आपने प्रदर्शन को कैसे माप लिया? क्या आपने [आईई स्क्रिप्ट प्रोफाइलर] (http://msdn.microsoft.com/en-us/library/dd565629%28v=vs.85%29.aspx#_start) का उपयोग किया था? आईई स्क्रिप्ट प्रोफाइलर और "धारणा" दोनों द्वारा – user123444555621