2012-11-16 22 views
6

से आया था, जब मैंने एक लिंक क्लिक किया था तो पृष्ठ के निचले हिस्से में लोडिंग सूचक दिखाने के लिए एक विधि बनाई थी।पृष्ठ का पता लगाने का तरीका बैक बटन

जब कोई बैक बटन हिट करता है, तो यह पृष्ठ की सामग्री को रीफ्रेश नहीं करता है जिससे लोडिंग क्षेत्र दिखता है।

क्या यह पता लगाने का कोई तरीका है कि पृष्ठ लोडिंग सूचक को हटाने के लिए एक विधि को आग लगाने के लिए एक पुनर्निर्देशन से आया था या नहीं?

किंडा तो जैसे:

function cameFromeBackButton(){ 
    //hide loading indicator 
} 

या यह बजाय वापस बटन बंद करो और एक विधि आग के लिए एक रास्ता है? जैसे इतना:

function backButtonClicked(){ 
    //do stuff instead of going back 
} 

संपादित करें: यह वह जगह है काफी कैसे क्षेत्र

$('.link').click(function(){ 
//make loading area 
$('container').append(loadingAreaString) 

//grab the href and goto page 
window.location.href = $(this).attr('href'); 

return false 
}) 
+0

क्या आप केवल पृष्ठ के कैश किए गए संस्करण को दिखा सकते हैं या आप कैश की गई प्रतिलिपि दिखाने के लिए चाहते हैं लेकिन फिर भी कुछ चीजें आग लगाना चाहते हैं? यदि ऐसा है तो http://blog.55minutes.com/2011/10/how-to-defeat-the-browser-back-button-cache/ –

+0

एक अलग पक्ष समाधान की तरह लगता है? मेरे मामले में यह सब ग्राहक पक्ष होना चाहिए। निर्दिष्ट नहीं करने के लिए खेद है। –

+0

फ़ंक्शन को लोड करने वाले फ़ंक्शन को कैसे दिखाया जाता है? –

उत्तर

1

बुलाया जा रहा है आप सर्वर से कुछ टोकन हस्तांतरण और कुकी या स्थानीय भंडारण में संग्रहीत कर सकते हैं। जब संग्रहीत टोकन पृष्ठ में एम्बेडेड टोकन से अलग होता है - इसका मतलब है कि पृष्ठ सर्वर से लोड किया गया था, यदि मान बराबर हैं - इसका मतलब है कि पृष्ठ कैश (या बैक बटन से) पर दिया गया था।

+0

ऐसा करने का प्रयास किया लेकिन जब मैं वापस हिट करता हूं तो यह भंडारण नहीं पढ़ता है। –

+0

यहां जवाब दिया गया है कि जेएस को बैक बटन के बाद कैसे चलाया जा सकता है http://stackoverflow.com/questions/2638292/after-travelling-back-in-firefox-history-javascript-wont-run –