from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

進捗を保存したい2

P.S. こうしたらfirefoxでもできた。これバグかな?

function blobfile2(data){
  
  var text = "テキストデータ";

var blob = new Blob([text], {type: "text/plain"}); // バイナリデータを作ります。

// IEか他ブラウザかの判定
if(window.navigator.msSaveBlob)
{
    // IEなら独自関数を使います。
    window.navigator.msSaveBlob(blob, "ファイル名.txt");
} else {

    // それ以外はaタグを利用してイベントを発火させます
    var a = document.createElement("a");
    var e = document.createEvent('MouseEvent');
    a.href = URL.createObjectURL(blob);
    a.target = '_blank';
    a.download = 'ファイル名.txt';

    e.initEvent( "click", false, true );
    a.dispatchEvent( e ); 
  
}

firefoxの設定(オプション)から自動化とフォルダーを分ける事もできる。

IndexedDB

MDNをすこしみてみたらインターフェース10こくらいあってとてもじゃないけどキモかったのでラッパーライブラリのdexie.jsを使う。

gmは@requireでライブラリが指定できる。

cdnjsはこんなライブラリも用意してくれているので神。



function indexedDB(data){
  alert("ok?")
  var db=new Dexie("backupDB");
  var dbStructure={
    backup:"length,data,date"
  }
  //storesがtableか。だったら tableにしろよな
  db.version(1).stores(dbStructure);
  db.open().catch(function(error){
            alert('Uh oh : ' + error);
        });
  
  
  db.backup.add(dbAddObject);
  var dbAddObject={
    length:data.length,
    data,//es6
    date:new Date()
  }
  console.log(new Date())
}

FileAPI

fileAPIはどこからどこまでが範囲なのかいまいちよく分かってない。かなりむかしに勉強したけどもう殆ど覚えてないなあ。 firefoxでは実行できない。



function indexedDB(data){
  alert("ok?")
  var db=new Dexie("backupDB");
  var dbStructure={
    backup:"length,data,date"
  }
  //storesがtableか。だったら tableにしろよな
  db.version(1).stores(dbStructure);
  db.open().catch(function(error){
            alert('Uh oh : ' + error);
        });
  
  
  db.backup.add(dbAddObject);
  var dbAddObject={
    length:data.length,
    data,//es6
    date:new Date()
  }
  console.log(new Date())
}

filesystemAPI

まだ非標準。対応してるのはchromeのみ。

developer.mozilla.org

XPCOM

まもなく廃止予定。

developer.mozilla.org

今後の予定

進捗を保存したい3でgithubに投げたり、webExtensionにしてみる。