Saat kami menggunakan fungsi "snapshot web" di sebagian besar mesin pencari web, mereka akan menambahkan penyorotan kata kunci ke halaman snapshot yang dikembalikan. Ini akan sangat memudahkan kami untuk menemukan konten yang diambil di halaman web. Penyorotan kata kunci dari cuplikan Google juga menyertakan fungsi segmentasi kata, dan kata-kata yang berbeda diwarnai dengan warna berbeda. Namun, karena %!#^*&$!, cuplikan halaman web Google sangat tidak stabil, jadi mari kita tambahkan sendiri fungsi penyorotan kata kunci ini.
Seperti gambar di bawah ini, ketika kita mencari kata kunci: apache asp.net di Google, hasilnya adalah:
Setelah mengklik link hasil dan menavigasi ke halaman kita sendiri, jika kita menyorot kata kunci berikut, apakah akan lebih mudah bagi pengguna untuk menemukan dan menemukan konten yang diminati di halaman dengan cepat?
Mari kita lihat lebih dekat, tetapi alamat di IE jelas: http://birdshome.cnblogs.com/archive/2005/11/17/Apache.html , jadi bagaimana bisa disorot di halaman dan diambil dengan pencarian mesin? Bagaimana dengan kata kuncinya? Di sini kami menggunakan atribut pengarah dokumen untuk mendapatkan jenis mesin pencari dan informasi kata kunci. Misalnya, dalam contoh di atas, atribut document.referrer adalah: http://www.google.com/search?hl=zh-CN&newwindow=1&q=apache+asp.net&btnG=%E6%90%9C%E7% B4%A2&lr =lang_zh-CN%7Clang_zh-TW . Kami menganalisis kata kunci dari mesin pencari yang ditentukan melalui JavaScript, dan kemudian mengoperasikan objek DOM halaman untuk mewujudkan fungsi penyorotan. Namun, untuk kata kunci berbahasa Mandarin yang panjang dan berturut-turut, solusi penyorotan sisi klien ini tidak dapat menyediakan fungsi segmentasi kata, yang sangat mudah dilakukan.
Kode untuk secara khusus mengimplementasikan penyorotan kata kunci pencarian pada halaman saat ini adalah sebagai berikut. Letakkan saja di event document.body.onload halaman tersebut dan beri nama :) function FriendlyDisplayForSearch()
{
var url = UrlBuilder baru(dokumen.referrer);
if (url.m_Sukses)
{
var host = url.m_Host.toLowerCase();
jika ( host.indexOf('.google.') != -1 )
{
var kata kunci = url.GetValue('q', 'UTF8');
jika (kata kunci)
{
var ht = Teks Sorotan baru();
ht.Execute(kata kunci);
}
}
lain jika ( host.indexOf('.baidu.') != -1 )
{
}
}
}// Karena hubungan antara pengkodean dan frekuensi penggunaan, saat ini hanya
fungsi mesin pencari Google HighlightText(range)
yang dilakukan
{
jika (rentang)
{
this.m_Range = rentang;
}
kalau tidak
{
this.m_Range = dokumen.body.createTextRange();
}
this.m_Keyword = '';
ini.toString = fungsi()
{
kembalikan '[kelas HightlightText]';
};
}
HighlightText.prototype.Execute = fungsi(kata kunci)
{
jika (kata kunci)
{
this.m_Keyword = kata kunci;
}
jika ( this.m_Range && this.m_Keyword )
{
var pemisah = ' ';
jika ( this.m_Keyword.indexOf(' ') == -1 )
{
pemisah = '+';
}
var kata kunci = this.m_Keyword.split(separater);
var bookmark = ini.m_Range.getBookmark();
untuk ( var i=0 ; i < kata kunci.panjang ; ++i )
{
var kata kunci = kata kunci[i];
if (kata kunci && kata kunci.panjang > 1)
{
while(ini.m_Range.findText(kata kunci[i]))
{
this.m_Range.execCommand('Warna Depan', 'salah', 'teks sorotan');
this.m_Range.execCommand('BackColor', 'false', 'highlight');
this.m_Range.collapse(salah);
}
this.m_Range.moveToBookmark(bookmark);
}
}
}
}