2010年12月11日土曜日

DnD ダウンロードブックマークレット

いまIgoの辞書作成部をPythonに移植中ですが、移植作業は割と一気にやらないとはかどらないので、ちょっと開いた時間で前から実験したかったDnDダウンロードをやってみました。

かなり手抜きですが、ブックマークレットに纏めました。多分Chrome専用です。

  • アンカータグに対してイベントハンドラを設定します(なにも考えず全て)
  • アンカーのhrefをみてダウンロード元に設定します
  • ダウンロードするファイル名は最後のスラッシュから後の文字列
  • MIMEタイプは全てapplication/octet-streamです


javascript:(function(){var t,h,i,el=document.getElementsByTagName("a"),n=el.length;for(i=0;i<n;i++){el[i].addEventListener("dragstart",function(e){t=e.currentTarget;h=t.href;e.dataTransfer.setData("DownloadURL","application/octet-stream:"+h.replace(/.*\//g,'')+":"+h)},false);}})()

ちょっと整形した版
var el = document.getElementsByTagName("a");
var n = el.length;
for (var i = 0; i < n; i++) {
  el[i].addEventListener("dragstart",
    function(e){
      var t = e.currentTarget;
      var h = t.href;
      e.dataTransfer.setData("DownloadURL", "application/octet-stream:" + h.replace(/.*\//g, '') + ":" + h);
    }, false);
}

0 件のコメント:

コメントを投稿