« Amazonで立ち読み | メイン | Google パーソナライズド ホーム & Google Print »

2005年11月 4日

KeyCloud2 ちょっとバージョンアップ

KeyCloudを少しバージョンアップしました。

  • キーワードを押したときに、ページ内検索を実施するようにしました。文字がハイライトして、最初のマッチ位置に移動します。(タグの中身まで検索してしまうので、少し表示がおかしくなることがあります。)
  • 同時にGoogleのサイト検索を行うことも可能です。
  • 文字サイズを指定最大サイズまでの切り捨てから正規化処理に変更しました。
  • キーワードの抽出を少し工夫して、英語や日本語が変に長くなるのを修正。
  • 負荷軽減のため、URL先の更新があるまで以前の結果をキャッシュします。(更新されるまでパラメータを変えても反映されないので注意してください)

<script language="JavaScript" type="text/javascript" src="http://saya.s145.xrea.com/x/keyjs2.cgi?url=(解析対象HPのURL)&num=(キーワードの最大数)&encode=(文字コード)&max=(文字サイズの最大)&bgcolor=(ハイライト文字背景色)&mode=(モード)"></script>

keyjs2.cgiに変わっています。
url以外はオプション
num: 数字(default:100)
encode: eucまたはsjis(default:euc)
max: ピクセル数(default:24)
bgcolor: 16進数(default:FFFF00) #は不要
mode: googleまたはfind(default:google) googleを指定するとgoogleのサイト検索が別ウィンドウで立ち上がります。

Javascriptでのページ内検索は少し手間取りました。メインの関数は下記のような感じです。
もっと良い方法があればぜひ教えてください。


function findword(key){
if(key==''){
return;
}
if(oldhtml){
document.body.innerHTML=oldhtml; //別のキーワードでの検索による書き換えを元に戻す
}
var str='<a name="kcfw" style="background-color:#'+bgcolor+';">'+key+'</a>';
oldhtml=document.body.innerHTML; 
var kc=document.getElementById('keycloud').innerHTML; //KeyCloudの部分は検索しないように
document.getElementById('keycloud').innerHTML=''; 
document.body.innerHTML=document.body.innerHTML.replace(RegExp(key,'ig'),str); //ハイライトさせます
document.getElementById('keycloud').innerHTML=kc;
window.location.hash = 'kcfw';  //最初の検索結果に移動
}
// oldhtmlはグローバル変数

投稿者 saya : 2005年11月 4日 00:02 | はてなブックマークに追加 | del.icio.usに追加

関連エントリー


トラックバック

このエントリーのトラックバックURL:
http://saya.s145.xrea.com/mt/mt-tb.cgi/126

このリストは、次のエントリーを参照しています: KeyCloud2 ちょっとバージョンアップ:

» iTunesとiPodに歌詞を入れる from "OSX" .app's :Macのアプリを便利、感動、面白をベースにほぼ日刊で紹介。
Lyrics Master - リリックス マスター iTunesで再生中の楽曲の歌詞を12カ所の歌サイトから検索して登録するアプリケーション。曲... [続きを読む]

トラックバック時刻: 2006年2月 5日 01:43

» KeyCloud2 from chihotdec.com blog
KeyCloud2というものを見つけました。 TagCloudの日本語版みたいなかんじです。 ・http://www.tagcloud.com/... [続きを読む]

トラックバック時刻: 2006年4月15日 15:25

» KeyCloud2。 from ごくろぐ(テスト中)-gokuraku's BLOG-ごくらくが大好き
キーワードを抽出してくれてタグクラウド風に表示してくれる「KeyCloud」のバージョンアップ版である「KeyCloud2」を導入してみた。「Keywor... [続きを読む]

トラックバック時刻: 2007年3月11日 03:47

コメント

こんにちは。
KeyCloud、すばらしいですね。

でも、残念ながら自分のサイトでは上手く動いていないようです。URLは動的なページを指定できないのでしょうか?

あと、自分のサイトにインストールできれば非常にうれしいと思っています。コードをご提供いただけないでしょうか?

よろしくお願いします。

投稿者 gokuraku : 2007年3月18日 01:39

gokurakuさん、コメントありがとうございます。
トラックバックを頂いてから少し調べていたのですが、perlのLWPでgokurakuさんのページをgetで取得しようとしたときにうまく取得できず何も表示されない結果になっているようです(タイムアウトを長めに指定しても取得できませんでした)。そこさえ解決すれば表示できると思います。

あと、コード自体はperlの短いコードで提供可能ですが、茶筌とTermExtractをインストールする必要があります(とりあえず動かすために書いているので、かなり汚いコードです・・・)。

投稿者 saya : 2007年3月18日 14:06

sayaさん、こんにちは。
調べてみたのですが、LWPを拒否しているわけではないようです。

chasenとTermExtractはインストールしてみました。
コードをいただけると助かります。送っていただけるならメールアドレスをご連絡します。

よろしくお願いします。

投稿者 gokuraku : 2007年3月25日 20:35

gokurakuさん
了解しました。コードを送りますので、メールアドレスをコメントのメールアドレス欄に記入して下さい。
よろしくお願いします。

投稿者 saya : 2007年3月26日 19:52

こんにちは。よろしくお願いします。

投稿者 gokuraku : 2007年3月26日 22:58

コメントしてください




保存しますか?