少し前にGoogleドライブに静的ファイルをホスティングさせる記事を書きました。
GoogleドライブにBloggerで使う外部CSSをホスティングさせてみる : たき備忘録
http://rrvf.blogspot.jp/2013/02/google-drive-css-hosting.html
このブログでは、上記の方法を利用してJavascriptやCSSをホスティングしています。
その際に、いちいちアップロードしたファイルのIDを調べて、"http://www.googledrive.com/host/..."というURLを作るのが面倒だったのでブックマークレットを作りました。
ソースコードは以下の通りです。
javascript:(function(){
var v=document.getElementsByClassName("doclistview");
for(var i=0;i<v.length;i++){
if(v[i].style.display!="none") v=v[i];
}
var a=v.getElementsByClassName("doclist-tbody")[0].getElementsByTagName("tr");
for(var i=0;i<a.length;i++){
var b=a[i].getElementsByClassName("doclist-td-name")[0].getElementsByTagName("div")[0];
var bn=document.createElement("button");
bn.innerText="open";
bn.id=b.id.split('.')[2];
bn.addEventListener("click",function(){
window.location.href="https://www.googledrive.com/host/"+this.id+"/";
});
b.insertBefore(bn,b.firstChild);
}
})();
ファイルのIDを見つけて外部参照用アドレスを生成、ボタンにイベントを設定するだけの単純なブックマークレットです。
普通に使う場合は、以下のリンクをお気に入りバーにドラッグしてください。
GDLink
このブックマークレットをGoogleドライブのファイル一覧画面で実行すると以下のようになります。
「open」というボタンが追加されるので、これをクリックするとWEBホスティング可能なURLへ移動します。
注意点として、WEBホスティングをしたいファイルの「アクセスできるユーザ」設定を「ウェブで一般公開」に設定してください。
この設定を行わないと外部からファイルを参照することができません。