2010-01-28 12 views
30

अगर मैं Google पर कुछ खोजता हूं और परिणाम (mytestsite.com) पर क्लिक करता हूं, तो उस साइट पर रेफरर Google खोज का यूआरएल होगा।आप जावास्क्रिप्ट के माध्यम से यूआरएल रेफरर को कैसे प्राप्त करते हैं?

अब उस साइट पर, एक जेएस फ़ाइल शामिल है जिसका उपयोग ट्रैकिंग उद्देश्यों के लिए किया जाता है .. यहां तक ​​कि उस जेएस फ़ाइल अनुरोध के संदर्भकर्ता mytestsite.com है ... क्या जेएस अनुरोध को संभालने वाले सर्वर के लिए कोई रास्ता नहीं है पता है कि यह एक Google खोज से उत्पन्न हुआ?

उत्तर

4

एक स्क्रिप्ट टैग हमेशा उस दस्तावेज़ को संदर्भित करेगा जो इसे सोर्स कर रहा है। यदि आप सर्वर पर कुछ खास कर रहे हैं तो आप एक सत्र या कुकीज़ का उपयोग करने पर विचार करना चाहेंगे।

+1

रेफरर यहां दूसरे उत्तर के अनुसार उपलब्ध है। –

+2

@ बुमहौयर: समाधान वस्तुतः वही हैं, अंतर यह है कि मैंने 'document.referrer' का उल्लेख नहीं किया है। मेरा मुद्दा यह था कि जब सर्वर से अनुरोध किया जाता है तो सर्वर पिछली साइट के रेफरर को नहीं जानता (केवल जब HTML अनुरोध किया जाता है), जो प्रश्न पूछ रहा था। समाधान में केवल अंतर यह है कि दूसरा उत्तर रेफरर को अनुरोध शीर्षलेख के बजाय क्वेरी स्ट्रिंग के रूप में पास कर रहा है। मैंने इरादे और समाधान को स्पष्ट करने के लिए अपना जवाब अपडेट कर लिया है, लेकिन आम तौर पर मुझे लगता है कि लोग इस सवाल को गलत तरीके से पढ़ रहे हैं। –

+0

इस उत्तर का दूसरा भाग गलत है और उदाहरण काम नहीं कर सकता है। 'रेफरर' [वर्जित हेडर नाम] (https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name) में से एक है जिसे "प्रोग्रामेटिक रूप से संशोधित नहीं किया जा सकता"। – iamnotmaynard

87

मैं आपको बस इतना करना कोशिश कर रहे हैं पर एक छोटे से स्पष्ट नहीं कर रहा हूँ, लेकिन आप का उपयोग कर जावास्क्रिप्ट के साथ रेफ़रलकर्ता हड़पने कर सकते हैं:

document.referrer 

... और के लिए अपने अनुरोध में सर्वर को भेजे देंगे जेएस फाइल। ऐसा करने के कई तरीके ... यहां एक है:

<script> 
var e = document.createElement("script"); 
e.src = 'someJSfile.js?referrer='+document.referrer; 
e.type="text/javascript"; 
document.getElementsByTagName("head")[0].appendChild(e); 
</script> 
+1

यह थोड़ा मजाकिया है कि आप सही के रूप में चिह्नित उत्तर नहीं देते हैं। 'document.referrer' - यह सबसे अच्छा है –

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