2009-05-25 10 views
9

मैंने कुछ वेबसाइटों को पृष्ठ तक पहुंचने के लिए उपयोग किए गए खोज इंजन कीवर्ड को हाइलाइट किया है। (जैसे कि Google खोज सूची में आपके द्वारा टाइप किए गए कीवर्ड)वेबसाइट खोज सर्च में आपके द्वारा उपयोग की जाने वाली खोज शब्दों को कैसे हाइलाइट करती है?

यह कैसे पता चलता है कि आपने खोज इंजन में कौन से कीवर्ड टाइप किए हैं? क्या यह संदर्भकर्ता HTTP शीर्षलेख या कुछ की जांच करता है? कोई भी उपलब्ध स्क्रिप्ट जो यह कर सकती है? यह सर्वर-साइड या जावास्क्रिप्ट हो सकता है, मुझे यकीन नहीं है।

उत्तर

12

यह या तो सर्वर-साइड या क्लाइंट-साइड किया जा सकता है। खोजशब्दों को HTTP रेफरर (एसआईसी) शीर्षलेख को देखकर निर्धारित किया जाता है। जावास्क्रिप्ट में आप document.referrer देख सकते हैं।

एक बार आपके पास रेफरर होने के बाद, आप यह देखने के लिए जांचें कि यह एक खोज इंजन परिणाम पृष्ठ है जिसके बारे में आप जानते हैं, और फिर खोज शब्द का विश्लेषण करें।

उदाहरण के लिए, गूगल के खोज परिणामों URL जो इस तरह लग रहे है:

http://www.google.com/search?hl=en&q=programming+questions 

q क्वेरी पैरामीटर, खोज प्रश्न है, तो आपको लगता है कि खींच बाहर करने के लिए इसे अन-यूआरएल-भागने चाहते हैं और चाहते हैं, परिणामस्वरूप:

programming questions 

फिर आप अपने पृष्ठ पर शर्तों की खोज कर सकते हैं और उन्हें आवश्यकतानुसार हाइलाइट कर सकते हैं। यदि आप इस सर्वर की ओर से कर रहे हैं-तो आप इसे क्लाइंट को भेजने से पहले HTML को संशोधित करेंगे। यदि आप इसे क्लाइंट-साइड कर रहे हैं तो आप डोम में हेरफेर करेंगे।

मौजूदा पुस्तकालय हैं जो आपके लिए यह कर सकते हैं, जैसे this one

+0

यह उत्तर क्या छोड़ा गया यह है कि रेफरर आम तौर पर अविश्वसनीय है। सभी ब्राउज़रों और कॉन्फ़िगरेशन संदर्भकर्ता (गोपनीयता/सुरक्षा कारणों के लिए मूल रूप से) नहीं भेजेंगे। – SpliFF

+4

हां, यह सच है, लेकिन खोज शब्दों की वही हाइलाइटिंग केवल सुविधा के रूप में की जाती है, यह एक बड़ा सौदा नहीं है। यदि आपको रेफरर नहीं मिलता है तो आपके पास हाइलाइट करने के लिए कुछ भी नहीं है। –

+0

धन्यवाद। क्या एक उत्कृष्ट जवाब है। विशेष रूप से पुस्तकालय। –

7

साकार यह शायद कोई फर्क करने के लिए बहुत देर हो चुकी है ...

कृपया, मैं तुम्हें भीख माँगती हूँ - यह कैसे पूरा करने के लिए यह पता लगाने और उसके बाद कभी नहीं करते हैं। एक वेब उपयोगकर्ता के रूप में, जब मैं ऐसी साइट पर आता हूं जो इसे स्वचालित रूप से करता है तो मुझे यह बहुत परेशान (और विचलित) लगता है। अधिकांश समय यह पृष्ठ पर हर दूसरे शब्द को हाइलाइट करने के लिए समाप्त होता है। अगर मुझे किसी पृष्ठ के भीतर एक निश्चित शब्द खोजने में सहायता की आवश्यकता है, तो मेरे ब्राउज़र में एक बहुत अधिक उचित "ढूंढें" फ़ंक्शन बनाया गया है, जिसमें मैं इसे पूरा करने के लिए पूरे पृष्ठ को फिर से लोड करने के बजाय, इच्छानुसार उपयोग या उपयोग नहीं कर सकता दूर जब मैं इसे नहीं चाहता (जो विशाल अधिकांश समय है)।

+1

मुझे आश्चर्य है कि क्या आप वेब उपयोगकर्ताओं के विशाल बहुमत का प्रतिनिधित्व करते हैं यह उपयोगी हो सकता है। –

+1

मैं निश्चित रूप से @ 1amzave से सहमत हूं। मेरे ब्राउज़र में एक बेहतरीन खोज सुविधा है, और अगर मुझे इसकी ज़रूरत है तो मैं इसका इस्तेमाल करूंगा। हाइलाइट्स * बहुत * विचलित होते हैं, खासकर अगर त्वरित स्कैन के बाद मैं पृष्ठ को गहराई से पढ़ने का फैसला करता हूं। यह इस तथ्य से भी बदतर हो गया है कि ऐसा करने वाली अधिकांश साइटें इसे बंद करने का कोई तरीका नहीं देती हैं। * मुझे पता है कि इसे कैसे ठीक किया जाए, लेकिन मैं एक वेब डेवलपर हूं। अधिकांश लोगों के पास कोई सुराग नहीं होता है, जिसका अर्थ है कि उन्हें पृष्ठ को दर्जनों हाइलाइट किए गए शब्दों के साथ पढ़ना होगा। और यदि वे निर्णय लेते हैं कि वे पृष्ठ मुद्रित करना चाहते हैं, या HTML प्रारूप में किसी को इसे ईमेल करना चाहते हैं, तो इसे संभवतः स्थायी रूप से आगे बढ़ाया जाता है। –

3

मूल रूप से, आप ...

  1. की जांच document.referrer
  2. डोमेन की एक सूची है जिसमें खोज शब्द शामिल हैं।

    var searchEnginesToGetParam = { 
        'google.com' : 'q', 
        'bing.com' : 'q' 
    } 
    
  3. उचित प्राप्त परम प्राप्त करके decodeURIComponent() यह।

  4. टेक्स्ट नोड्स को पार्स करें जहां आप शर्तों को हाइलाइट करना चाहते हैं (Replacing text with JavaScript देखें)।
  5. आप कर चुके हैं!
संबंधित मुद्दे