2009年11月29日日曜日

iPhone ページ内検索ブックマークレット

思いついて調べるとiPhoneでもブックマークレットっていけるんですね。
よく考えてみれば、JavaScriptを実行するだけだからいけるのか。

ということで、
iPhoneのSafariで表示しているページ内を検索するブックマークレットを作成しました。
iPhoneのSafariには検索がないので、調べ物する時には困るんですよね。

現物は以下から。
iPhone用ブックマークレット ほるめすメモ帳

ソースよりも、利用方法から。

上のページにアクセスし、「ページ内検索ブックマークレット」下のソースをコピーします。

コピーしただけではブックマークに追加されないので、
適当にページをブックマークに追加したのち、コピーしたソースに書き換えます。

ページ内検索したいページに移動し、さっき作ったブックマークを選択すると、
入力ダイアログが表示されるので、検索したい文字列を入力してOK。

検索し存在すると、その文字列が黄色で強調され、件数とともに終了します。

見やすいソースはこちら。
01.javascript:
02.var t=window.prompt('検索する文字列を入力して下さい。','');
03.if(t!=null&&t!=''){
04. var re=new RegExp(t,'ig');
05. var b=document.body.innerHTML;
06. b=b.replace(re,'<span id=\'sebml\' name=\'sebml\' style=\'color:#000;background-color:#FF0;\'>'+t+'</span>');
07. document.body.innerHTML=b;
08. var sebml=document.getElementsByName('sebml');
09. if(sebml.length==0){
10.  alert('一致する文字列はありません。');
11. }
12. else{
13.  alert(sebml.length+'件検索しました。');
14. }
15.}
16.void(0);
あ、ちなみにiPhone以外でも使用出来ます。 ブラウザに標準であるので使わないと思いますが。

1 件のコメント:

ちょこバー さんのコメント...

>if(t!=null&&t!=''){

単純に if(t){ で動きますよ。

コメントを投稿