2009-11-11 2 views
5

उपयोगकर्ता को बैक बटन मारने से रोकने के लिए window.history.go(1) मिला, लेकिन यह सोच रहा था कि क्या मैं यह देखने के लिए जांच सकता हूं कि ऐसा करने से पहले कोई आगे का इतिहास मौजूद है या नहीं, इसलिए मैं पॉपअप चेतावनी प्रदर्शित कर सकता हूं जो उपयोगकर्ता को दबाए नहीं पिछला बटन।मैं यह देखने के लिए कैसे जांच सकता हूं कि जावास्क्रिप्ट में कोई आगे का इतिहास मौजूद है या नहीं? (बैक बटन को अक्षम करना)

मुझे पता है कि आप इतिहास की लंबाई प्राप्त कर सकते हैं, लेकिन क्या इतिहास सूची में वर्तमान स्थिति प्राप्त करने का कोई तरीका है? या ऐसा करने का कोई अन्य तरीका ...

+6

यदि आपको लगता है कि आपको बैक बटन तोड़ने की ज़रूरत है तो आपकी साइट मूल स्तर पर कुछ गलत कर रही है, आपको इस पर समय बर्बाद करने के बजाय ठीक करने का प्रयास करना चाहिए। – bobince

+2

ओह बिल्कुल, यह एक बड़ी समस्या के लिए एक बुरा हैक है, लेकिन यदि आप विरासत कोड के 60+ पृष्ठों को फिर से लिखना चाहते हैं तो मुझे प्राथमिकता कार्य के लिए डंप किया गया है जिसे "आपातकालीन" के रूप में चिह्नित किया गया है, फिर मेरा अतिथि बनें;) – NibblyPig

+0

इस पृष्ठ पर अपने आपातकालीन कार्यकर्ताओं को भेजें। शायद वे प्रकाश देखेंगे। –

उत्तर

1

AFAIK आप जावास्क्रिप्ट से इतिहास तक पहुंच नहीं पाएंगे। यह एक सुरक्षा छेद होगा और अधिकांश ब्राउज़र इसकी अनुमति नहीं देंगे। शायद ActiveX का उपयोग करके IE में एक वर्कअराउंड हो सकता है।

इस प्रविष्टि जो आप

window.history

के लिए उपयोगी एक अगले संपत्ति नहीं है हो सकता है नहीं मिला।

में सत्र इतिहास अगले आइटम का URL देता है यह गुण वेब सामग्री के लिए उपलब्ध नहीं है और अन्य ब्राउज़र द्वारा समर्थित नहीं है।

सुरक्षा कारणों से इतिहास वस्तु विशेषाधिकार रहित कोड, सत्र इतिहास में अन्य पृष्ठों के URL का उपयोग करने की अनुमति नहीं है, लेकिन यह यह सत्र इतिहास नेविगेट करने की अनुमति देता है।

सत्र इतिहास को साफ़ करने या अप्रतिबंधित कोड से पीछे/आगे नेविगेशन को अक्षम करने का कोई तरीका नहीं है। निकटतम उपलब्ध समाधान location.replace() विधि है, जो प्रदान किए गए URL के साथ सत्र इतिहास की वर्तमान आइटम को प्रतिस्थापित करता है।

+0

हाँ यह इस तरह से दिखता है, लेकिन यह भी भ्रमित है कि यह आपको सूची में सामानों की संख्या और उस तरह की चीजें प्राप्त करने देगा। – NibblyPig

+0

आपके संपादन के जवाब में, मुझे नहीं लगता कि यह एक सुरक्षा छेद है कि यह जांचने में सक्षम होना कि आप जिस फ़ंक्शन को कॉल करना चाहते हैं, वह सफल होगा या नहीं ... – NibblyPig

+0

यह फ़ंक्शन कॉल के बारे में नहीं है, लेकिन उपयोगकर्ता के बारे में एक अज्ञात वेबसाइट पर सुरक्षा का खुलासा किया जा रहा है। – rahul

0

पीछे (या आगे) बटन को तोड़ें मत।

  1. आप वास्तव में नहीं पता है कि वे हर संभव उपयोगकर्ता के सेटअप (प्लगइन्स सहित, आदि) को जानने के बिना कर सकता
  2. तुम अब भी कुछ हल्का बुद्धिमान क्या करना है (उदाहरण के लिए अपने डेटाबेस कचरा नहीं) यदि पटकथा है अक्षम, या अक्षम फिर पुन: सक्षम, आदि
  3. क्योंकि आपको पहले से ही # 2 को संभालना है, यह जानने के बारे में भी चिंता न करें कि हर किसी के लिए # 1 कैसे करना है, और # 2 बेहतर काम करने के लिए और अधिक समय व्यतीत करना ।
  4. अब आपकी साइट बैक बटन के साथ काम करती है।
संबंधित मुद्दे

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