読者です 読者をやめる 読者になる 読者になる

Sleipnirのタブを共有

さっき、書きかけの日記が消えたので省略モード。
たいそうなタイトルですが、たいした内容じゃないです。

複数台のWindowsマシンでLANを構築してるときに
Aのマシンで開いてるのをBのマシンでも見たいってときないです?
僕はB5ノートで見ていたWEBを家ではデスクトップマシン(17型モニタ)
で広々と見たいってなるんです。

ってことで、タブに展開しているページのURLをクリップボードに格納して
クリップボードLAN共有ソフト(NetClipなど)を使って
別マシンで展開するスクリプトを作ってみました。

クリップボードLAN共有ソフトと連携して動く訳ではありません。
クリップボードLAN共有ソフトは手動で操作してください。m(。−_−。)m


/**********************************************************

	「全タブのURLをクリップボードに送る」ver1.00		2006/07/19

					Written by Stewie
<簡単な説明>

開いているタブのURLを改行(\n)区切りでクリップボードに送る。
「クリップボードにあるURLを新規タブで開く」スクリプトとの併用を
想定しています。
もちろん、メモに貼り付けたりもいいかも。
<version情報>
ver 1.00	とりあえず完成。
**********************************************************/


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

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


var tab_len = pnir.GetCount;

//誤動作防止のためにクリップボードを空にする
window.clipboardData.clearData("Text");

// 選択文字列をクリップボードに取得するための前処理
window.clipboardData.setData("Text", "");

copiedtext = window.clipboardData.getData("text");

//全タブのURLを格納
for(i=0;i<tab_len;i++){
    id       = pnir.GetDocumentID(i);
    document = pnir.GetDocumentObject(id);
    window   = pnir.GetWindowObject(id);
    copiedtext += document.location.href + "\n"          //document.title + "\n" + 
}

//クリップボードにセット
window.clipboardData.setData("Text", copiedtext);

window.alert("done");

document = null;
pnir = null;
window = null;
/**********************************************************

	「クリップボードにあるURLを新規タブで開く」ver1.00		2006/07/19

					Written by Stewie
<簡単な説明>

クリップボード(コピーバッファ)にあるURLを新規タブに展開する。
「全タブのURLをクリップボードに送る」スクリプトを実行した後に
このスクリプトを実行することを想定しています。

<version情報>
ver 1.00	とりあえず完成。
**********************************************************/


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

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


//クリップボードのデータをcopiedtext変数に格納
copiedtext = window.clipboardData.getData("text");

//改行(\n)で各URLが区切られているものを各個配列に。

var URLArray = copiedtext.split("\n");

//配列の各要素を新規タブで展開。
for(i=0; i<URLArray.length;i++ ){
  pnir.NewWindow(URLArray[i], true);
}

window.alert("done");

document = null;
pnir = null;
window = null;

2006-07-16 - griffin-stewieの日記

のひとりごとにも書いてたコードの
はてなダイアリーへの記載方法が
さっきやっとわかりました。
恥ずかしい〜