「単語検索」をより便利に使うために

メッセージ

現在の「単語検索」はヒットしたページへのリンクが表示されるだけですが、そのリンクをクリックして該当ページを表示するときにヒットした文字列をマーキングして表示するようになれば便利。

span style="background-color:yellow">検索文字列</span>という感じのマーキング。

「単語検索」の結果のリンクから飛ぶときに検索文字の受け渡しをして、そのときだけ表示ルーチンの中でマーキング処理するって形になるのかな。


本文をマーキングして表示するルーチンがあれば、プラグインでも使えそう。 ページ先頭に検索窓を表示して、そのページの中でヒットした文字列にマーキングして表示するというような。 実はこれってInternet Explorerであれば、JavaScriptで実現可能なんですが、IE限定になっちゃうので。

JavaScript (IEのみ)でのサンプル

関数定義

function markword(word) {
  tags = document.body.all.tags;
  var re = new RegExp("("+ word + ")", "gl");
  for(i = 0; i < tags.length; i++){
    text = tags[i].innerHTML;
    newtext = text.replace(re, <span style='background:yellow'>$1</span>");
    tags[i].innerHTML = newtext;
  }
}

HTML内での関数呼出し

<form>
  <div>
    <input type="text" name="text">
    <input type="button" name="検索" onClick="markword(this.form.text1.value)">
  </div>
</form>

長文のページなどでは、けっこう便利に使えるので、PukiWikiでも実現してほしいです。



添付ファイル: filefunc.php 707件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-03-01 (土) 00:08:58
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u10. HTML convert time: 0.240 sec.

OSDN