काम नहीं कर रहा है मेरी साइट ने बैकबोन.जेएस में पुशस्टेट्स को लागू किया है और आईई के लिए पूरी साइट ब्रेक लगाई है। मैं आईई के लिए फॉलबैक कैसे बनाना चाहिए?Backbone.js पुशस्टेट्स: इंटरनेट एक्सप्लोरर के लिए फ़ॉलबैक
मैं क्या हासिल करने के लिए
मुख्य यूआरएल कोशिश कर रहा हूँ: http://mydomain.com/explore
एक और यूआरएल: 'http://mydomain.com/explore/1234
साइट के मुख्य पृष्ठ http://mydomain.com/explore
जो रूटर समारोह explore
से चलाता है।
जब कोई उपयोगकर्ता http://mydomain.com/explore/1234
, रीढ़ की रूटर समारोह viewListing
, जो समारोह explore
रूप में ही है, लेकिन यह भी आइटम आईडी 1234
के लिए विवरण शामिल हैं ट्रिगर किया जाएगा।
Backbone.js रूटर
// Router
var AppRouter = Backbone.Router.extend({
routes: {
'explore': 'explore',
'explore/:id': 'viewListing',
},
explore: function() {
this.listingList = new ListingCollection();
// More code here
},
viewListing: function(listing_id) {
this.featuredListingId = listing_id; // Sent along with fetch() in this.explore()
this.explore();
}
});
App = new AppRouter();
// Enable pushState for compatible browsers
var enablePushState = true;
// Disable for older browsers (IE8, IE9 etc)
var pushState = !!(enablePushState && window.history && window.history.pushState);
if(pushState) {
Backbone.history.start({
pushState: true,
root: '/'
})
} else {
Backbone.history.start({
pushState: false,
root: '/'
})
}
समस्या: आप उपरोक्त कोड में देख सकते हैं रूप में, मैं pushState: false
साथ pushstates निष्क्रिय करने के लिए अगर यह एक असंगत ब्राउज़र है की कोशिश की।
हालांकि आईई के लिए सामान्य रूप से सामान्य ब्राउज़र (http://mydomain.com/explore
) के लिए काम करने के लिए आईई के लिए, IE को http://mydomain.com/explore/#explore
पर जाना होगा जो चीजों को भ्रमित कर रहा है! http://mydomain.com/explore/1234
तक पहुंचने के लिए और भी अधिक http://mydomain.com/explore/#explore/1234
पर यह कैसे तय किया जाना चाहिए?
धन्यवाद एक रूट के रूप में स्थापित है, मैं इस कोशिश की और यह (उम्मीद के रूप में) 'http से पुनर्निर्देश: // mydomain.com/explore' http://mydomain.com/#' करने के लिए/explore'। हालांकि 'http: // mydomain.com' स्वागत/स्प्लैश पृष्ठ है, न कि ऐप पेज (' http: // mydomain.com/explore') – Nyxynyx
तो आपको शायद अपने बैकबोन मार्गों से '/ explore /' को हटाना होगा , इसे 'Backbone.history.start ({root:'/explore/'} में रूट के रूप में सेट करें) '। –