2010年10月22日金曜日

DnD, FileAPI使ったブックマークレット再び

ChromeがFile APIをサポートしたので、前書いたブックマークレットを試してみたら動かなかったので、FirefoxでもChromeでも動くように手直ししてみた。
(dev使ってるので前から出来たはずだけど、忘れてた)

ブックマークレット用
javascript:(function(){var f,i,r,a=function(n,f){document.querySelector("#t").addEventListener(n,f,0)};a('dragover',function(e){e.preventDefault()});a('drop',function(e){f=e.dataTransfer.files;for(i=0;i<f.length;i++){r=new FileReader();r.onloadend=function(e){t.value=r.result};r.readAsText(f[i],"UTF-8");}e.stopPropagation()})})();

少し見やすい状態
javascript:(function(){
 var f,i,r;
 var a=function(n,f){document.querySelector("#t").addEventListener(n,f,0);};
 a('dragover',function(e){e.preventDefault();});
 a('drop',function(e){
   f=e.dataTransfer.files;
   for(i=0;i<f.length;i++){
    r=new FileReader();
    r.onloadend=function(e){t.value=r.result};
    r.readAsText(f[i],"UTF-8");
   }
   e.stopPropagation();
  });
})();

0 件のコメント:

コメントを投稿