ブックマークレット : 手書きブログのタイトルに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>