単語をハイライト
検索はWebサイトだけではありません。現在表示されているページ名にある単語/文字列を検索したい場合もあります。Lunascapeの拡張スクリプトでは特定の単語をハイライトする命令が用意されています。特定の単語をハイライトするのはHilight()メソッドです。Hilight()の最初のパラメータには現在表示されているタブウィンドウのドキュメントIDを指定します。ドキュメントIDはGetDocumentID()で取得することができます。GetDocumentID()のパラメータにはLunascape.ActiveIndexを指定します。これは現在アクティブになっているウィンドウのインデックス番号になります。
Windowsという単語をハイライトさせる場合はスクリプト003のようになります。同じキーワードをハイライトさせる場合には便利です。ただ、Hilight()は実行するたびに単語のハイライト表示と、通常表示を交互に切り替えるようになっています。つまり、すでに他の単語がハイライトしている場合に、このスクリプトを実行して新しい単語を入力してもハイライトされません。これを解決するにはもう一度Hilight()を実行する方法があります。
スクリプト003
function OnClick(){
// 単語をハイライトする
var idDocument = Lunascape.GetDocumentID(Lunascape.ActiveIndex);
var word = "Windows";
Lunascape.Hilight(idDocument, word);
}
スクリプト003ではアクティブになっているウィンドウ内しか特定の単語をハイライトできません。タブウィンドウをサポートしているのですから、表示されているタブウィンドウすべてに渡って同じ単語をハイライトさせた方が便利なこともあります。
すべてのタブウィンドウに渡ってハイライト表示を行うには、タブウィンドウの数だけ繰り返し処理を行います。タブウィンドウの総数はGetCount()で取得できます。for()を使って、このGetCount()で得られた数だけ繰り返し処理を行います。
ドキュメントのIDを取得するGetDocumentID()ですが、ここにインデックス番号を指定します。スクリプト003ではアクティブウィンドウを指定するためLunascape.ActiveIndexとしましたが、この代わりにインデックス番号を指定することで、アクティブでないウィンドウのIDを取得することができます。
ここで注意しなければならないことがあります。というのもHilight()はアクティブウィンドウでしか機能しないということです。つまり、すべのタブウィンドウ内でハイライト表示するには、タブウィンドウをアクティブにしてからHilight()を実行する必要があります。
特定のタブウィンドウをアクティブにするにはLunascape.ActiveIndexにアクティブにしたいタブウィンドウのインデックス番号を指定します。この後でHilight()を実行すれば特定の単語がハイライト表示されます。