なんかできたよー。

Web系Tipsを適当につづるBlog.

Twitter上の画像をワンクリックで簡単に保存するブックマークレット。

f:id:tuki0918:20130612012805p:plain

さいしょに

Twitter上の画像を簡単に保存するブックマークレット。(単体画像用 がゆるく需要があるみたいなので、少し便利にしたものを公開します。

使いどころ

ユーザーのイメージ一覧ページ で

f:id:tuki0918:20130612005949p:plain
この画像保存できねえ、、、ってなったときに使うと、自動的に画像をダウンロードしてくれます。

※ 一時的に新しいウインドウが表示されますが、5秒(デフォルト)後に自動的に閉じられます。

f:id:tuki0918:20130625002920p:plain
Google Chrome の 「ブックマークバー」に保存しておくと便利です。

コード

javascript:(function(){	var d = document;	var s = d.createElement('script');	s.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js';	d.body.appendChild(s);	setTimeout(function(){		var imgURI = $('img.media-image').attr('src').replace(':large','');		var win = window.open('http://iideacraft.com/q/tw/?img='+imgURI, 'TwImgGet', 'width=200, height=100');		setTimeout(function(){			win.close();		}, 5000);	}, 500);})();

 

コード(整形)

下から3行目の数値「5000」を変更してウインドウが自動的に閉じる時間を変更出来ます。
※ 1000 -> 1秒です。
だいぶ多めに見積もってるので通信速度が速い人はもっと少なくても大丈夫そうです。
※ ダウンロード完了前にウインドウが閉じると正常に保存されない可能性があります。 

  • 元コード
javascript:(function(){
	var d = document;
	var s = d.createElement('script');
	s.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js';
	d.body.appendChild(s);
	setTimeout(function(){
		var imgURI = $('img.media-image').attr('src').replace(':large','');
		var win = window.open('http://iideacraft.com/q/tw/?img='+imgURI, 'TwImgGet', 'width=200, height=100');
		setTimeout(function(){
			win.close();
		}, 5000);
	}, 500);
})();

 

  • ウインドウを自動的に閉じなくても良い場合は…以下の箇所を削除して下さい。
		setTimeout(function(){
			win.close();
		}, 5000);

 

  • 新規ウインドウのサイズ変更したい場合

「'width=200, height=100'」の箇所を任意の値に変更する

var win = window.open('http://iideacraft.com/q/tw/?img='+imgURI, 'TwImgGet', 'width=200, height=100');

例) window.open - Web API リファレンス | MDN
 

さいごに

動作確認は Google Chrome しかしてないです。
※ Twitter側の更新によって突然使えなくなる場合があります。