मैं फ्रेम में किसी पृष्ठ के स्थान को अपडेट करने के लिए AJAX का उपयोग कर रहा हूं। लेकिन हैश के स्थान को सेट करते समय (क्रोम पर और आईई (5.5) के कुछ संस्करण विशेष रूप से, लेकिन कभी-कभी आईई 7 पर) पृष्ठ को फिर से लोड किया जा रहा है।फ़्रेम में स्थान.hash सेट करना
निम्नलिखित एचटीएमएल समस्या का प्रदर्शन करता है।
मुख्य फ्रेम .... frame.html
<html><head>
<frameset rows="*">
<frame src=sethash.html frameborder=0 scrolling=auto name=somebody>
</frameset>
</head></html>
sethash.html पेज है।
<html><head>
<script language=JavaScript>
var Count = 0;
function sethash()
{
top.document.location.hash = "hash" + Count;
Count++;
}
</script>
</head>
<body onload="alert('loaded')">
<h1>Hello</h1>
<input type='button' onClick='sethash()' value='Set Hash'>
</body>
</html>`
फ्रेम लोड करने वाले अधिकांश ब्राउज़रों पर पृष्ठ लोड होने पर लोड की गई चेतावनी दिखाई देगा। फिर जब सेट हैश बटन दबाया जाता है तो यूआरएल बदल दिया जाएगा, लेकिन हैश लोड की गई चेतावनी फिर से दिखाई नहीं देगी। क्रोम और IE
के कुछ संस्करणों परमाइक्रोसॉफ्ट रिपोर्ट संभवतः एक ही समस्या के साथ Internet Explorer 5.5 link text
मैं माइक्रोसॉफ्ट सुझाव दिया समाधान, घटना को पकड़ने और यह आग नहीं है जो उपयोग नहीं कर सकते, लेकिन सिर्फ स्क्रॉल देखने के लिए, जैसा कि ऑनलोड ईवेंट के हिस्से के रूप में top.location.hash सेट का उपयोग कर रहा हूं।
यह काम करता है। छोटा नोट: [क्रोम फेविकॉन में एक झिलमिलाहट दिखाएं और बटन को बंद/ताज़ा करें] (http://code.google.com/p/chromium/issues/detail?id=50298), जो बदसूरत दिखता है। – Blaise