もくじ
AH-K3001Vで使える便利なブックマークレット機能。
はじめに
AIR-EDGE PHONE「AH-K3001V」では、Operaが搭載されJavaScriptに対応した。そこで、ブックマークにJavaScriptを仕込むことで便利なことができる「ブックマークレット(Bookmarklet)」が利用できるようになっている。ただし、本体のみではhttp://もしくはhttps://ではじまるURL以外はブックマークに登録できない仕様となっているため、付属のユーティリティソフトを利用してブックマークレットを転送して利用することとなる。WX300K以降なら本体メニューから編集可能。
-
Bookmarklet (わーい何でもできるぞー!?)(AH-K3001V用ブックマークレット集)リンク切れ - JAVASCRIPT::BOOKMARKLET
- WX330Kで使えるブックマークレット集(QRコードつき) - それ、Gentooだとどうなる?
- google:bookmarklet
9(nine)/9(nine)+/WX310SA/WX310J/WX321J/WX320Tで使う
一応使えるはず。ただし端末仕様でブックマーク1件の最大の長さが異なる場合は、収まりきらずに使えないものもあると思われるので注意が必要。AH-K3001Vなど京セラ機は255バイトまでとなる。
やり方
まずは「AH-K3001V」に付属しているCD-ROMから「京セラユーティリティ」ソフトをインストールしましょう。現状ではWindows用しかないのでWindowsでしか転送できません。ただし、ユーザーサイトにて非公式なユーティリティソフトがいくつか公開されています。MacOS XならAH-K3001V Bookmark Utility、WindowsCEなら3001k.exeなどを使えばブックマークレットをブックマークに登録できます。
京セラユーティリティを立ち上げ、ブックマークツールを選択して、起動します。まず、「読み込み」をしましょう。そうすると、はじめに入っていたブックマークがずらずらと出てきます。一応、これを保存しておきます。いらないものがあれば適宜「削除」しましょう。
ブックマークツールの「新規」をクリックすると新しいブックマークが登録できます。ここで「タイトル」には自由に自分で機能のわかる名前をつけ、「URL(ジャンプ先)」に各所で紹介されているブックマークレットを書き込みます。例えば、ローカルファイルとして「AH-K3001V」に「bookmark.htm」というhtml文書を保存してあり、それを開くブックマークを作りたい場合は、「URL(ジャンプ先)」に以下のように書き、「OK」を押します。その後で「書き込み」ボタンを押せば本体に保存されます。
javascript:location.href='file://localhost/C:/data/bookmark.htm';
本体でブックマークを見てみましょう。今登録したものがあると思います。これで登録が終わりです。いろいろ便利なものがあるので試してみましょう。ちなみに、リンクに関してはローカルファイル同士でも大丈夫なようです。URLに「file://localhost/C:/data/保存した名前.htm」とかでリンクを張れば飛べると思います。
また、ブックマークの番号は本体側では変更することができますが、現在のところユーティリティでは変えられないようです。さらに言えば、ソートしちゃうと勝手にソート順の番号に変わってしまう!?なかなか厄介です。というわけで、以下の方法でブックマークの「タイトル」を登録しておくと便利です!
【知っ得情報】
順番を整理したい場合は、サイト名記入欄に『01○○○○』『02▲▲▲▲』など番号を振り、設定し終わったら、一端、名前欄をクリックして名前順にする。そして、グループ欄を押してグループ毎に並び替えた後、AH-K3001Vに転送すると番号順で整列している。つまり、ツールで表示される順番のまま転送されると言う事。
ブックマークレット(具体例)
情報確認
- UAを確認する(京ぽんのバージョンとかもわかる)
javascript:alert(navigator.userAgent);
- 現在の日付を表示
javascript:d=new Date();Y=d.getFullYear();M=d.getMonth()+1;D=d.getDate();w=d.getDay();j=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");function f(v){if(v<10){v="0"+v;}return(v);};M=f(M);D=f(D);alert(Y+"/"+M+"/"+D+" ("+j[w]+")");
ページを移動
- 履歴を表示
javascript:location.href='opera:history';
- URL編集
javascript:url=prompt("Jump to :",location.href); if(location.href!=url){ location.href=url; }
- データフォルダを参照
javascript:document.body.innerHTML="<form><input type=file name='gmemo' size=12><input type=button value='Go' onClick='location.href=\"file://localhost/\"+this.form.gmemo.value;'></form>"
- 階層をひとつ上がる
javascript:p=location.pathname;location.href=(p.charAt(p.length-1)=='/')?'..':'.';
- フレームページのメインページを抜き出して表示
javascript:(function(){if(top.length<1){alert('NoFrame!')}else{var i,p,b,m=0,w=-1; for(i=0;i<top.length;i++){b=frames[i].document.body;p=b.clientWidth*b.clientHeight;if(p>m){m=p;w=i}}; location.href=frames[w].location.href}})();
- 現在のページを銀河フィルタで開く
javascript:(function(){var p=location.href,g="http://yuki.sakura.ne.jp/f.cgi"; if(p!=null){g+="?u="+encodeURI(p)};location.href=g;})();
- アクティブなリンク先を銀河フィルタで開く
javascript:(function(){var p=document.activeElement,g="http://yuki.sakura.ne.jp/f.cgi"; if(p!=null){g+="?u="+encodeURI(p)};location.href=g;})();
検索
- Google検索
javascript:keywd=prompt("Google:");if(keywd){location.href="http://216.239.59.104/search?q="+keywd;}
- I'm Feeling Lucky (有名どころは名前入れるだけで飛べるからかなり便利)
javascript:keywd=prompt("I'm Feeling Lucky:");if(keywd){location.href="http://216.239.59.104/search?btnI&q="+keywd;}
- Yahoo!辞書
javascript:with(document){write('<form name=f action="http://dic.yahoo.co.jp/bin/dsearch" accept-charset="euc-jp"><input name=p type=hidden><input name=stype type=hidden value="0"></form>');close();with(window.f){p.value=prompt("","");submit();}}
通話&メール
- メール送信
javascript:location.href="mailto:";
- ページのURLをメール送信
javascript:location.href='mailto:?SUBJECT='+document.title+'&BODY='+escape(location.href)
- Web 中に電話発信
javascript:pn=prompt("tel:",""); if(pn!=null){document.body.innerHTML="<a href='tel:"+pn+"'>call</a><br><a href='"+location.href+"'>back</a>";}
- 電話番号を tel: リンクに変換
javascript:document.body.innerHTML=document.body.innerHTML.replace(/(0\d{1,3})([\(-])(\d{2,4})([\)-])(\d{4})/g,'<a href="tel:$1$3$5">$1$2$3$4$5</a>');
- 電話番号を tel: リンクに変換2
javascript:(function(){ var d = document.body, e = "0\\d{1,3}[-(]\\d{2,4}[-)]\\d{4}"; d.innerHTML = d.innerHTML.replace(RegExp(">[^<]*"+e+"[^<]*<", "g"),function(a){ return a.replace(RegExp(e, "g"), '<a href="tel:$&">$&</a>'); }); })()
ページ変換
- ページのURLをテキストエリアに入れる
javascript:document.body.innerHTML="<textarea>"+location.href+"</textarea><br><a href='"+location.href+"'>back</a>";
- ウェブページの内容(テキスト)をコピペするためにテキストエリアに入れる
javascript:document.body.innerHTML='<textarea cols="23"rows="11">'+document.body.innerText+'</textarea><br><a href="'+location.href+'">back</a>';
- ttp >http 変換(2ちゃんねるなど向け)
javascript:b=document.body; b.innerHTML=b.innerHTML.replace(/\b(ttp:\/\/[a-z0-9.$,; :& =?!*~@#_()%/'+-]+)/gi,'<a href=h$1 target=_blank>h$1</a>'); void(0);
- ページ内の画像一覧
javascript:(function(){ var a=document.images,i; for(i=0; i<a.length; i++){ document.write('<a href="'+a[i].src+'">'+a[i].src+'</a><br>'); } document.write('<br><a href="'+location.href+'">back</a>'); document.close(); } )();
- ページ内の画像一覧(サムネイル版)
javascript:(function(){var d=document,a=d.images,i;for(i=0;i<a.length;i++){d.write('<a href="'+a[i].src+'"><img vspace="0" hspace="4"width=64 height=64 src="'+a[i].src+'"></a>');}d.write('<br><a href="'+location.href+'">back</a>');d.close();})();
- ページ内のリンク一覧
javascript:(function(){ var a=document.links,i; for(i=0; i<a.length; i++){ document.write('<a href="'+a[i].href+'">'+a[i].href+'</a><br>'); } document.write('<br><a href="'+location.href+'">back</a>'); document.close(); } )();
- MIDI ファイルへのリンクを、演奏用スクリプト呼び出しに置き換える(MIDIを視聴できます)
javascript:(function(){var a=document.links,b,i;for(i=0;i<a.length;i++){b=a[i].href;if(b.match("\.(MID|mid)$")){a[i].href='javascript:document.write(\"<bgsound src='+b+'>Playing '+b+'\");document.close()';}}})();
- ページ内の指定テキストを強調表示
javascript:(function(){ var d = document.body, e = prompt("", ""); d.innerHTML = d.innerHTML.replace(RegExp(">[^<]*(?:"+e+")[^<]*<", "ig"),function(a){ return a.replace(RegExp(e, "ig"), '<span style="color:Black;background:Yellow;">$&</span>'); }); })()
- アクティブなタグの内容を表示
javascript:(function(){var el=document.activeElement;alert(el.outerHTML);})();
- アクティブな A タグのリンク先URLを表示
javascript:(function(){var el=document.activeElement;alert(el.getAttributeNode("href").value);})();
- リンククリック時、URLを確認してから飛べるようにする
javascript:captureEvents(Event.CLICK);void(onclick=function(e){return confirm(e.target.href)})
その他
- イーバンクなどのログイン
javascript:document.INPUT_FORM.COMMAND.value="LOGIN_COMMAND";document.INPUT_FORM.submit();
一行コメント
ブックマークレットを作る
ブックマークレットを自作する場合のTipsを幾つか並べます。
- 一般的なウェブサイト向けのJavaScriptと異なり、多くは1行で収める必要があります。長さ制限に気をつけて下さい。
- ブックマークレット中で変数を書き換える場合は、ページ中の変数を書き換えるのを防ぐ為、無名関数を定義して実行するようにします。このような形式です。
javascript:(function(){≪実行部分≫})();
- ブックマークレット中で日本語を使う場合は、Unicodeエスケープを用います。「テスト」なら「\u30c6\u30b9\u30c8」のような形式です。ただし文字数を消費する為、あまり多用は出来ません。次のブックマークレットで試すことが出来ます。
javascript:alert("\u30c6\u30b9\u30c8");
自作する場合は、chado氏のCharacter Code Checkerなどで変換出来ます (WX320Kで動作確認)。- TEXT欄に変換したい文字列を入力。
- 下の[multi-bytes only]を押す。
- unicode欄にその文字列が出力される。
- 一般的な機能を使ったほうが、互換性が高くなり、多くの機種で使うことが出来るでしょう。短くする為には、対象機種を絞って独自機能を使った方が良いことがあります。