Wednesday 15 September 2010

javascript - window.location.hash not creating browser history entry -


मैं एक सरल चल रहा हूं:

  window.location.hash = "hash";   

पृष्ठ लोड होने के बाद यूआरएल में एक हैश जोड़ने के लिए मुझे मिल, mySite.com/aPage#hash जब मैं बैक बटन पर क्लिक करता हूं, तो मुझे उम्मीद है कि यूआरएल अपने सिक्योरिटी / ए पेज पर वापस लौटाए बिना किसी वास्तविक लोडिंग / वापस जा रहे हैं। इसके बजाय मुझे mySite.com/a पृष्ठ से पहले इतिहास प्रविष्टि पर वापस ले जाया जा रहा है।

यह ठीक काम करता है, जब मैं खिड़की कॉल करता हूं। Location.hash उदा।

मैंने एक परीक्षण बनाया है: कोड देखें:

सेटटिमेंउट फ़ंक्शन के अंदर केवल अंतिम हैश जोड़ा जाता है जैसे मुझे उम्मीद है। किसी भी विचारों को बिना सेट-टाइमआउट के काम करने का तरीका?

कोई भी विचार बिना इसे कैसे काम करें Setteimeout?

एक गतिशील रूप से बनाया गया और href के #yourHash जिसके साथ आप एक माउस क्लिक करें।

  window.onload = function () {location.hash = 'foo'; // कोई इतिहास आइटम नहीं बनाया गया, बस दृश्यता में मदद करने के लिए a = document.createElement ('a'), ev = document.createEvent ("MouseEvents"); A.href = '#bar'; // यह इतिहास आइटम ev.initMouseEvent ("क्लिक करें", सही, गलत, स्वयं, 0, 0, 0, 0, 0, झूठी, झूठी, झूठी, झूठी, 0, शून्य) बना देगा; a.dispatchEvent (EV); // प्रेषण क्लिक करें};   

कोड का डेमो Google Chrome 25 में परीक्षण किया गया।

No comments:

Post a Comment