そういや、こんな所にも書き込んでいたな。
一行でブックマークレットを書きたくない人のためのテクニック。
たぶん最終版。前のよりシンプルになった。
・ブックマークレット。
これ自体は別ファイル(bookmarklet.js)を呼び出すためだけのもの。
最後のtestが実際の処理をする関数名。
javascript:with(document)void((bmlScript=body.appendChild(createElement('script'))).src='file://c:/bookmarklet.js?test')
・実際の処理をするファイル(bookmarklet.js)
if(this.bmlScript) {
with(bmlScript.src) {
var pos=indexOf("?");
if(pos>=0) {
var funcname=substring(pos+1);
if(this[funcname]) this[funcname](); else alert(funcname+" is not defined");
}
}
document.body.removeChild(bmlScript);
bmlScript=null;
}
function test() { // 実際の処理をする関数。複数行で自由に書ける。
alert("test");
}