2012-02-23 30 views
6

कौन सा बेहतर है? खंड पहचानकर्ताओं का उपयोग ...हैशटैग (टुकड़ा पहचानकर्ता) वीएस जावास्क्रिप्ट इतिहास API

http://www.alinkthatdoesnotwork.com/#!/dir1/dir2/file.html 

... या नया जावास्क्रिप्ट इतिहास API?

https://github.com/examplethatdoesnotwork/project/src/script.js 

या मुझे दोनों का उपयोग करना चाहिए? (के माध्यम से वापस आने)

पहलुओं:

  • संगतता/सहायता
  • स्पीड
  • सुविधा

उत्तर

2

हैशटैग ट्विटर पर सामग्री को वर्गीकृत करने का माध्यम हैं, आपका मतलब खंड पहचानकर्ता है।

खंड पहचानकर्ताओं का उपयोग यह इंगित करने के लिए कि अजाक्स के माध्यम से कौन सी सामग्री लोड करना एक भयानक विचार है। वे एक हैक है जो fragile, search engine unfriendly (except with more hacks on both sides) and depends on JavaScript है।

इतिहास API एक मजबूत प्रणाली है जो वास्तव में उस नौकरी को करने के लिए डिज़ाइन की गई है। इसके साथ एकमात्र समस्या browser support है, लेकिन (खंड पहचानकर्ता दृष्टिकोण के विपरीत) यह वास्तविक यूआरआई को गहराई से गिरा देता है जो सीधे आपके सर्वर पर भेजा जाएगा (जो what Github does है)।

यहां तक ​​कि ट्विटर भी about to switch to the history API दिखाई देता है।

1

इतिहास एपीआई बेहद बेहतर है, जब तक सामान्य लिंक सामान्य रूप से ब्राउज़रों में काम के रूप में की जाती है कि इसका समर्थन मत करो।

आप इन ब्राउज़र में सक्षम करने के लिए History.js जैसी लाइब्रेरी का उपयोग कर सकते हैं।

अधिक जानकारी यहां: It's About The Hashbangs, Side Effects of Hash-Bang URLs

संक्षेप में, यूआरएल महत्वपूर्ण हैं। यूआरएल हमेशा के लिए होते हैं, और अच्छे यूआरएल नहीं बदलते हैं, और आखिरकार: एक बार जब आप हैशबैंग कर लेते हैं, तो आप वापस नहीं जा सकते।

0

मुझे लगता है कि सवाल यह है कि समर्थन क्या है। फिलहाल आप इतिहास एपीआई के साथ नहीं जा सकते क्योंकि यह आईई द्वारा समर्थित नहीं है। आपको गिटहब की तरह फॉलबैक समाधान की आवश्यकता होगी।

0

आपने अपने पहले मानदंड के रूप में "संगतता" सूचीबद्ध की है। चूंकि इतिहास एपीआई isn't yet supported by all major vendors (मैं आपको देख रहा हूं, माइक्रोसॉफ्ट), यहां तक ​​कि उनके हालिया रिलीज में भी नहीं (आईई 9 में यह नहीं है), इसका मतलब है कि आपको हैश का उपयोग करना है। (जो बहुत बुरा है, लेकिन वहां हम हैं।) और यह सिर्फ माइक्रोसॉफ्ट नहीं है, बहुत से मोबाइल डिवाइस अपने मोबाइल ब्राउज़र के एक या दो संस्करणों का उपयोग कर रहे हैं, और फिर भी यह नहीं है।

1

नए इतिहास विधियां AJAX नेविगेशन के लिए अविश्वसनीय रूप से उपयोगी हैं। उदाहरण के लिए, pushState या replaceState आपको ब्राउजर के एड्रेस बार को अपडेट करने की इजाजत देता है ताकि उपयोगकर्ता बदसूरत हैशटैग चीज़ के बजाय एक क्लीन यूआरएल देख सके।

हालांकि, मुझे यकीन है कि आप जानते हैं, नए एपीआई के लिए समर्थन अभी भी सीमित है। location.hash इस बिंदु पर अधिक व्यापक रूप से समर्थित है, जिसका अर्थ है कि आपको ब्राउज़र के लिए हैश फ़ॉलबैक लिखना होगा जो नई विंडो का लाभ नहीं ले सकता है। इतिहास सामग्री।

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

  • कोई संबंधित समस्या नहीं^_^