2011-08-25 17 views
6

jQuery प्लगइन HISTORY.js (https://github.com/browserstate/History.js/) एक HTML5 इतिहास पुश कार्यान्वयन सुविधा प्रदान करता है और एक असमर्थित ब्राउज़र के मामले में, एक HTML4 हैशटैग सुविधा को लागू करने में सक्षम होना चाहिए। प्रलेखन/README फ़ाइल उपयोग विवरण के रूप में इतना:इतिहास कार्यान्वित करना। एचटीएमएल 4 फॉलबैक

var History = window.History; // Note: We are using a capital H instead of a lower h 
    if (!History.enabled) { 
     // History.js is disabled for this browser. 
     // This is because we can optionally choose to support HTML4 browsers or not. 
     return false; 
    } 

आप देख सकते हैं, प्रलेखन एचटीएमएल 5 की बात करने के History.js प्लगइन का उपयोग बताते हैं और HTML4 समर्थन के उपयोग की व्याख्या नहीं करता।

हालांकि, दस्तावेज़ का "डाउनलोड & स्थापना" के तहत, इसे पढ़ता है:

5. Include History.js 
<script src="http://www.yourwebsite.com/history.js/scripts/compressed/history.js">/script> 
<script src="http://www.yourwebsite.com/history.js/scripts/compressed/history.html4.js"></script> 

यहां दिए गए निर्देशों को व्यक्त कर सकते हैं कि HTML4 हैशटैग समर्थन स्वचालित है लेकिन उपयोग पृष्ठ पर निर्देश यह है कि सुझाव है मैन्युअल रूप से कार्यान्वित किया जाना चाहिए; जो मुझे विश्वास है वास्तव में मामला है।

मुझे HTML4 हैशटैग सुविधा को लागू करने पर कोई और दस्तावेज नहीं मिल रहा है। कृपया इसे हल करने में मेरी सहायता करें।

+0

जिस तरह से आप यह लिखा है फ़ॉलबैक कोड करने के लिए की जरूरत है बंद रहा। कृपया बताएं कि आपने क्या प्रयास किया है, और जो काम नहीं कर रहा है और जहां आपको सहायता चाहिए, के स्पष्ट उदाहरण प्रदान करें। अन्यथा, उपकरण के लिए प्रलेखन पढ़ें, और अधिक सामान्य चर्चा के लिए एक मंच की तलाश करें। [देखें "मुझे किस तरह के प्रश्न पूछना नहीं चाहिए?"] (Http://stackoverflow.com/faq#dontask) – OverZealous

+0

ठीक है, क्षमा करें। मुझे यह बताने के लिए धन्यवाद कि मैंने क्या किया है। मैंने सोचा कि अगर मैंने बहुत ज्यादा लिखा है तो लोग इसे नहीं पढ़ेंगे। आगे की व्याख्या करने के लिए मैं पोस्ट संपादित करूंगा। –

+0

क्या आपने इसे आजमाया है? ऐसा लगता है कि प्लगइन स्वचालित रूप से गर्व से गिरावट आएगा (यह बिना किसी अतिरिक्त कार्यान्वयन के HTML4 के साथ काम करेगा)। – JJJ

उत्तर

1

ठीक है शायद समस्या यह थी कि आप सही तरीके से History.js का उपयोग नहीं कर रहे थे (यही समस्या है जो मैं भी कर रहा था)। मूल रूप से सही तरह से आप की तरह कुछ करना चाहिए में History.js उपयोग करने के लिए: यह मैं statechange को नहीं सुन रहा था करने से पहले

// Register navigation click handlers where you will load Ajax content 
$(window).on('click', 'a.ai1ec-load-view', handle_click_on_link_to_load_view); 
// Bind to the statechange event 
$(window).bind('statechange', handle_state_change); 

// When the state changes, load the corresponding view 
var handle_state_change = function(e) { 
    var state = History.getState(); 
    load_view(state.url, 'json'); 
}; 

// When clicking on a link you want to load, trigger statechange by changing state 
var handle_click_on_link_to_load_view = function(e) { 
    e.preventDefault(); 
    History.pushState({ target :this }, null, $(this).attr('href')); 
}; 

और मैं बस उस लिंक क्लिक हैंडलर में pushState() का उपयोग किया गया था।

आप इसे इस तरह करते हैं कोई यह शायद होगा, यह HTML4 ब्राउज़रों में भी काम करेंगे (और HTML4 ब्राउज़र के बुकमार्क अपेक्षा के अनुरूप काम करेंगे)

संबंधित मुद्दे