2016/03/19

ニコニコ動画をTumblrへvideo形式で投稿するブックマークレット

表題の件、検索するとそれっぽいのが出てくるのだけど、うまく動かなかったり希望通りじゃなかったりしたので、例によってでっち上げてみた。主に参考にしたのはこちら:

vixylr - ニコニコ動画をtumblrに引用ポストするブックマークレットを勝手に改良

ニコ動をvideo投稿するbookmarkletを作ってみた - FAKE

h2owlish_tumble, ニコニコ動画の投稿用ブックマークレット(修正版)(スマートフォンブラウザ用)

自作スクリプトはこちらのリンクをブックマークして使ってほしい。ソースコードは以下:

javascript:var d=document;
var url=location.href;
var movienum=url.substring(url.lastIndexOf('/')+1,url.length);
var element=document.getElementById('topVideoInfo');
var elements=element.childNodes;
var description=elements[2].innerHTML;
str='<script type%3d"text%2fjavascript" src%3d"http%3a%2f%2fext%2enicovideo%2ejp%2fthumb_watch%2f'+movienum+'%3fw%3d490%26h%3d307"><%2fscript><noscript><a href%3d"http%3a%2f%2fwww%2enicovideo%2ejp%2fwatch%2f'+movienum+'">'+d.title+'<%2fa><%2fnoscript>';
t='nicovideo';
w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=str,f='http://www.tumblr.com/share/video',l=d.location,e=encodeURIComponent,p='?caption='+e('<blockquote>'+description+'</blockquote><a href="')+e(l.href) +'">'+e(d.title) +'</a>&embed='+e(s)+'&tags='+e(t),u=f+p;
try{if(!/^(.*\.)?tumblr[^.]*$/.test(l.host))throw(0);
tstbklt();
}catch(z){a =function(){if(!w.open(u,'t','toolbar=0,resizable=0,status=1,width=450,height=430'))l.href=u;
};
if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);
else a();
}void(0)

見ての通り単純に複数のスクリプトを悪魔合体させただけなので動作は未保証(MacのChromeとFirefoxとSafariでは軽く確認済みだが)。正しく動けば、動画の外部プレイヤー、投稿者コメント、動画へのリンクつきタイトル、 #nicovideo タグをTumblrに投稿できる。テキスト編集で外部プレイヤーのコードをコピペするよりも手軽なので、ブックマーク・クリッピングサービス代わりに使えるかもしれない。本当は投稿者名やタグも引っ張ってきたかったけどめんどくさい&自分には無理。後は任せた。

…本当はこれ、DAIM立ち上げ当初に構想してたものなんだよね…今になってようやくやりたかったことができた。自分に知識と開発力があれば初期のドタバタは回避できたのになあ。無念。

追記:投稿が動画の外部プレイヤー、動画へのリンクつきタイトル、投稿者コメント、 #nicovideo タグの順になるブックマークレットはこちら。Twitterと連携させる場合はこちらの方が都合がいいかもしれない。