2011-02-23 11 views
10

मैं एक अनौपचारिक रेफरर चेक के लिए document.referrer का उपयोग करना चाहता हूं। क्या यह तत्व क्रॉस ब्राउज़र संगत है? दस्तावेज़ ऑब्जेक्ट को संदर्भित करने का प्रयास करते समय क्या कोई ब्राउज़र कोई त्रुटि फेंक देगा?क्या दस्तावेज़.रेफरर क्रॉस ब्राउज़र संगत है?

उत्तर

14

document.referrer संपत्ति डोम कल्पना में वर्णित है:

http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-95229140

तो यह समर्थन किया जाना चाहिए पार ब्राउज़र। हालांकि, आप आसानी से अगर कार्यान्वयन की तरह

if('referrer' in document) { 
    console.log(document.referrer); 
} 
+0

बस तरफ, console.log का उपयोग कर ब्राउज़र समर्थन का परीक्षण करते समय सावधान रहें क्योंकि स्वयं सभी ब्राउज़रों द्वारा समर्थित नहीं है। – user227353

-3

हां। यह प्रमुख ब्राउज़रों द्वारा समर्थित है। देखें: http://www.w3schools.com/jsref/prop_doc_referrer.asp

+26

भले ही यह सच है, मैं साइट 'w3schools.com' साइट से कुछ भी भरोसा नहीं करता। – jAndy

+1

यहां एक और चीज़ की पुष्टि करने वाला थोड़ा और विश्वसनीय स्रोत है, इसलिए मुझे लगता है कि w3schools.com इस पर सही है। http://code.google.com/p/doctype/wiki/DocumentReferrerProperty – buley

+6

कृपया देखें http://w3fools.com :-) – Pointy

2

यदि अनुरोध एक ब्राउज़र (कई गैर-ब्राउज़र रोबोटों को भी एक भेज) से आ रहा है निर्धारित करने के लिए उस पर निर्भर नहीं रह सकते इस संपत्ति का समर्थन करता है का पता लगा सकते। हालांकि यह ब्राउज़र द्वारा समर्थित है, लेकिन यह विशेष रूप से इसे प्रदान नहीं करने के लिए गोपनीयता कार्यक्रम भी हैं। कभी-कभी यह प्रॉक्सी सर्वर द्वारा किया जाता है ... http://en.wikipedia.org/wiki/HTTP_referrer ... और यदि किसी वेबसाइट को HTTP सुरक्षित (HTTPS) कनेक्शन से एक्सेस किया गया है और एक लिंक को गैर-सुरक्षित कनेक्शन पर इंगित किया गया है, तो रेफरर फ़ील्ड नहीं भेजा जाता है।

तो उत्तर हाँ है लेकिन अपवादों के साथ।

+0

मुझे लगता है कि आप सर्वर की ओर '$ _SERVER [' HTTP_REFERRER ']' हेडर वैल्यू का संदर्भ दे रहे हैं, न कि जावास्क्रिप्ट 'document.referrer' – adambullmer

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