URLエンコード
| %20 | 半角スペース |
|---|---|
| %7B | { |
| %7D | } |
| %22 | " |
| %3c | < |
選択テキストの取得
IEとその他で取得方法が異なります。
if (navigator.appName.indexOf('Internet Explorer') != -1) {
Sel=document.selection.createRange().text;
} else {
Sel=document.getSelection();
}
テキスト選択中かどうかの判定
選択中かどうか
if (Sel)
選択していないかどうか
if (!Sel)
プロンプト入力
void()で囲むのがポイント。日本語部分はエンコードする。
void(elName=prompt('%E4%BD%95%E3%81%AE%E3%82%BF%E3%82%B0?',''));
if (!Sel) { void(Sel=prompt('URLを入力してください:','')) }
URL補完
http://が付いていない場合は補完します。
また、ttp://のようにhを書いていないURLの場合は先頭にhを補完します。
if (Sel.indexOf('ttp://') == 0) { Sel = 'h' + Sel; }
if (Sel.indexOf('http://') != 0) { Sel = 'http://' + Sel; }
URLへジャンプ
指定URLへジャンプするには、locationのhrefプロパティにURLをセットします。
location.href=URL;
特定タグの要素をすべてスタイル変更する
theEls=document.getElementsByTagName(elName);
for(i=0;i<theEls.length;i++){
void(theEls[i].style.border='solid 1px red');
void(theEls[i].style.borderColor=brdrClr)
}
文字列の末尾から検索
lastIndexOf() 見つからない場合は0ではなくてー1であることに注意
location.pathname 現在ページURLのパス名を取得する。設定するとパス移動する。
substring
length
現在ページのURL
location.href
"http://"の部分を除去するには
location.href.replace('http://','')
選択した部分をURLに渡す
選択した部分を取得するロジックがIEとそれ以外で異なることに注意。
また、ブラウザによっては、離れた領域のテキストを複数選択できるものもある。
選択テキスト抽出部
この部分は共通である。
var text='';
var txt;
var docs=new Array(32);
docs[0]=window;
for (var docsHead=docsTail=0;docsHead>=docsTail;docsTail++) {
try {
if (navigator.appName.indexOf('Internet Explorer')!=-1) {
txt=docs[docsTail].document.selection.createRange().text;
} else {
txt=docs[docsTail].document.getSelection().toString();
}
} catch (e) {
txt='';
}
if (text=='') {
text=txt;
} else {
text=text+' '+txt;
}
if (docs[docsTail].frames!=null) {
for (var i=0;i<=docs[docsTail].frames.length-1;i++) {
if (!(docs[docsTail].frames[i] instanceof Window)) {
docs[++docsHead]=docs[docsTail].frames[i];
}
}
}
}
if (text=='') text=null;
検索URL部
この部分はサービスごとに異なる。
Wikipedia
if (text) {
location.href='http://ja.wikipedia.org/w/wiki.phtml?search='+encodeURI(text)+'&go=%E8%A1%A8%E7%A4%BA';
} else {
location.href='http://ja.wikipedia.org/';
}
if (text) {
location.href='http://www.google.co.jp/search?q='+encodeURI(text)+'&ie=UTF-8&oe=UTF-8&hl=ja&lr=lang_ja';
} else {
location.href='http://www.google.co.jp/';
}
goo辞書
if (text) {
kind=(text.match('[a-zA-Z ]') ? 'ej' : 'je');
location.href='http://dictionary.goo.ne.jp/search.php?MT='+text+'&kind='+kind+'&FROM=USER';
} else {
location.href='http://dictionary.goo.ne.jp/index.html?kind=ej&mode=0';
}
ad
