JavaScriptで検索ワードをハイライトする

Posted by
ぴろり
Posted at
2007/04/12 22:38
Trackbacks
関連記事 (1)
Comments
コメント (1)
Post Comment
コメントできます
Category
ソフトウェア カテゴリ

 ユーザがなどのエンジンを経由してサイトを訪問をした際に, そのユーザがに使ったページ中の語彙を ハイライト表示する方法を紹介します。 ユーザはハイライト表示された部分を流し読みすることで, 必要とするを素早く発見できるようになります。
 最低限,のファイルを一つ読み込むだけなのでとてもお手軽です。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する | Twitterにポストする

実装の例

 例えば, Google で"movabletype mixi プラグイン"を検索すると, 上位にこのサイトの1ページであるmixiSyncの紹介ページが表示されると思うのでを開いてみてください。 ページの中にある""や""といった単語がハイライト表示されているのがご覧になれると思います。
 対応しているエンジンは, AllTheWebGoogleLycosMSNYahooとのことで, でもほぼ期待した通りに動作してくれました。 またエンジン以外からの訪問の場合にはハイライト表示は機能しないので, 他のビジタの方には従来通りにサイトを閲覧して頂けます。

組込み方

 既存のページへの組込みは至って簡単です。 ハイライト表示機能を使いたいページでファイルを一つ読み込むだけで, ページ全体に含まれる文字列を対象にしてハイライト表示が行なわれるようになります (特定の要素内でだけハイライト機能を有効にする方法は後述)
 ファイルを読み込むだけなので,,XOOPS,Wikiなどのから, 一般的なホームページでも幅広く使用することができます。

se_hilite.js の

 Scott Yang氏が Search Engine Keyword Highlight with Javascript で公開されている se_hilite.js 1.2 (最新版)を使用します。

se_hilite.js の書換え

 したse_hilite.jsそのままではの単語区切りを正しく判断しません。 そこでエディタで se_hilite.js を開いて次の行を書き換えてください。 書換えが終わったら上書き保存してにアップロードしておきます。

se_hilite.js の組込み

 ハイライト表示機能を使いたいページで se_hilite.js を読み込みます。

スタイルの追加

 最後にハイライト表示される領域のスタイルを定義します。 se_hilite.js の標準では, ハイライトされる領域は語彙の 1 番目が htlite1, 2 番目が hilite2…という名前のクラスが適用されます。 そこでお使いの に以下のようなスタイル定義を追加します。

高度な組込み方 その1

 se_hilite.js ファイルを組み込んだだけではページ全体が処理の対象となってしまうため, 例えばの名前欄やアフィリエイトの商品名などの意図しない部分までもが対象になってしまいます。
 そこで,ハイライト表示を有効にしたい領域を content または container という ID を持つ DIV などで囲むと, その要素の中の文章だけが対象になります。

高度な組込み方 その2

 このサイトでは,記事の概要文,本文,欄,欄についてハイライト表示を行なっていますが, 元のコードでは複数の領域に対してハイライト表示を有効にする方法が見つかりませんでした。 そこでスクリプトに少し改造を施して, ハイライト表示を有効にする領域を自由に設定できるようにしてみました。 元のコードに Hilite.addTarget というメソッドを追加して, このメソッドを使って処理の対象となる要素を自由に追加できるようになっています。

のお願い

 開発の継続のためには、書の購入やバグの修正、新機能の追加、欄でのユーザサポートなど、意外にお金と時間を費やします。そこで、「ビールでも奢ってやるか」ですとか「これで牛丼(並)でも食え」と仰るお方からのお申し出をいつでも受け付けております。どうぞ、よろしくお願いいたしますm(_ _)m
 金の送付には PayPal の小額決済をご利用いただけます。


この記事を読んだ人はこんな記事も読んでいます 記事リコメンデーションについて

その他の関連する記事


関連記事/トラックバック (全 1 件中、最新 5 件まで表示しています)

星屋工作室 のスクリーンショット
タイトル
検索語の部分をハイライト表示するJavascript
Trackbacked at
2009/07/03 14:49
from
星屋工作室
評価
Web Scouter
概要
他のサイトで見たことがあると思いますが、 検索語をハイライトで見やすくする方法で...

この記事にトラックバックを送るには?

寄せられたコメント (全 1 件中、最新 5 件まで表示しています)

Posted by
碇敏昭
at
2007/09/19 11:52
ID
zfdzsxDc

上西 宏幸 様

『検索ワードをハイライトする』機能で困っておりコメントさせて
頂きました。もし情報をお持ちでしたら教えてください。

職場でWebcelというソフトでキーワードを3個設定し、アクセスの
DBより情報を検索する仕様を運用してます。
その際、利用者より『検索ワードに色を付けてほしい』との要望が
あり、上西様のサイトにたどり着きました。

検索エンジン経由でなく、『検索キーワード』を認識したところから
スタートする展開で『検索ワードをハイライトする』機能ができない
ものかと考えているのですが。

以上 宜しくお願いします

コメントを投稿する

 
 (匿名可/必須/公開)
 (匿名可/必須/非公開)
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 CAPTCHAについて を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。
 
Google, Foogle, Toogle, Yoogle, Hoogle, Boogle, Voogle, GIogle, G9ogle, G0ogle, GPogle, GLogle, GKogle, GoIgle, Go9gle, Go0gle, GoPgle, GoLgle, GoKgle, GooFle, GooTle, GooYle, GooHle, GooBle, GooVle, GoogKe, GoogOe, GoogPe, GooglW, Googl3, GooglR, GooglD, GooglS JavaScript, HavaScript, UavaScript, IavaScript, KavaScript, MavaScript, NavaScript, JQvaScript, JWvaScript, JSvaScript, JZvaScript, JaCaScript, JaFaScript, JaGaScript, JaBaScript, JavQScript, JavWScript, JavSScript, JavZScript, JavaAcript, JavaWcript, JavaEcript, JavaDcript, JavaXcript, JavaZcript, JavaSXript, JavaSDript, JavaSFript, JavaSVript, JavaScEipt, JavaSc4ipt, JavaSc5ipt, JavaScTipt, JavaScFipt, JavaScDipt, JavaScrUpt, JavaScr8pt, JavaScr9pt, JavaScrOpt, JavaScrKpt, JavaScrJpt, JavaScriOt, JavaScri0t, JavaScri-t, JavaScriLt, JavaScripR, JavaScrip5, JavaScrip6, JavaScripY, JavaScripG, JavaScripF CSS, XSS, DSS, FSS, VSS, CAS, CWS, CES, CDS, CXS, CZS, CSA, CSW, CSE, CSD, CSX, CSZ リンク SEO, AEO, WEO, EEO, DEO, XEO, ZEO, SWO, S3O, SRO, SDO, SSO, SEI, SE9, SE0, SEP, SEL, SEK