ブックマークレット : 手書きブログのタイトルにURLが書かれている場合にそこへ移動する プログラマ
複雑な処理を行うブックマークレットは、単独では文字数制限があるので、 外部の .js ファイルに委ねます。 ページの中から、BlogTitlePane というクラスを持つ DIV を探して、 見つけたら、その中が http で始まっているかを確認して、確認の上移動します。 ※ コメントにしてある部分は、新しいウインドウで開く方法です 以下はコードの本体です。
if (!window.lightbox_tjump) {
(
function() {
window.lightbox_tjump =
{
version: 1.01
,
init : function( ) {
var target = document.getElementsByTagName("DIV");
var count = target.length;
var i,work;
for( i = 0; i < count; i++ ) {
work = target[i].className + "";
work = work.toUpperCase();
if ( work == "BLOGTITLEPANE" ) {
if ( (target[i].innerHTML).substr(0,4) == 'http' ) {
if ( confirm(target[i].innerHTML) ) {
window.location = target[i].innerHTML;
}
// window.open(target[i].innerHTML);
}
break;
}
}
}
};
}
)();
}
lightbox_tjump は、ほぼユニークであればいいタイトルのようなもので、 window オブジェクトのプロパティに処理を埋め込む方法です。 ブックマークレツトはその特性上、同時に複数のものを実行する事は無い ので極端な話、lightbox_tjump は常に同じでも問題は無いと思います。 ただ、管理上は別にしておいたほうが良いとは思いますが。 ブックマークレットの埋め込みはこのユニーク名とURL以外はほぼ一定です。▼ ブックマークレットの登録
手書きブログタイトルジャンプ
<a href="javascript:var mylib=document.createElement('script');if(!window.lightbox_tjump){mylib.setAttribute('src','http://winofsql.jp/tegaki_tjump.js');document.body.appendChild(mylib);(function(){if(window.lightbox_tjump){lightbox_tjump.init();}else{setTimeout(arguments.callee);}})();}else{lightbox_tjump.init();}void(mylib);"onclick=' if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) { event.returnValue = false; alert("右クリックしてポップアップメニューからお気に入りに追加して下さい "); } else { event.preventDefault(); alert("右クリックしてポップアップメニューからブックマークして下さい "); }'>手書きブログタイトルジャンプ</a>