徒然なるままに

脱出系ゲームのレポートや日々の戯れ言を綴るブログ。

はてなダイアリーbqモジュール作成スクリプト(Sleipnir用)

 id:s_sawada:20030517さんの「bqモジュール用文字列作成bookmarklet」を使おうと思ったのですが、なぜかSleipnirではエラーが出て使えなかったので少し修正してみました。以下がそのソースコードです。使い方はオリジナルのものと同様で、文字列を選択してからスクリプトを実行してください。プロンプトウィンドウが出るので、その中のタグをコピペすればOKです。
 ※s_sawadaさんのソースコードをほとんどそのまま流用していますので、何か問題があれば突っ込みのコメントをください。公開を停止します。←許可をいただきました。m(_ _)m
 ※ダイアログを出さずにクリップボードに直接コピーするものはid:Sapphire:20030625#p2にあります。ただ動作が怪しい部分があるので、こっちのほうがいいかもしれません。こっちも完全とはいえませんが^^;

var pnir;
var document;
var id;
var window;

pnir = new ActiveXObject("Sleipnir.API");
id = pnir.GetDocumentID(pnir.ActiveIndex);
document = pnir.GetDocumentObject(id);
window = pnir.GetWindowObject(id);

if (document == null) {
 pnir.MessageBox("Cannot create DocumentObject.");
}
else {
 var texts = (document.getSelection) ? document.getSelection():  document.selection.createRange().text;
 var bqUrl = window.location.href;
 var bqTitle = document.title;
 var bqTexts = texts.substring(0,9) + '-' + texts.substring(texts.length - 9,texts.length);
 var bqAll = '<hatena name="bq" cite="' + bqUrl + '" range="' + bqTexts + '" title="' + bqTitle + '">';
 var x = window.prompt('',bqAll);

 document = null;
}

pnir = null;