浏览器数据找回

网站上分享的文章应该都是个人的心血,对于一些操作问题导致心血丢失真的很奔溃,终于找到一个弥补的办法,csdn的文章谷歌浏览器亲测有效,理论上其他浏览器的其他网站应该也可以,适用以下场景

  • 把博客编辑当成了编写新博客,覆盖掉了老博客,无法返回
  • 浏览器不崩溃,返回编写界面,编写内容全没了
  • 编写新博客A中,关闭页面,然后打开新的编写新博客B页面,覆盖掉了已编写的A内容
  • 等等各种情况数据丢失情况

以谷歌和csdn为例子

  1. 打开一个新的发布文章页面或者旧文章编辑页面也行。总之当前界面必须处于文章编辑界面,因为浏览器只有触发编辑时才会记录到浏览器缓存数据库,每个界面对应的缓存数据库不一样。
    在这里插入图片描述

  2. 打开开发者工具,然后切换到Application中(safari中是切换到存储空间),主要用到Strorage中的IndexedDB。在IndexedDB中可以找到你丢失的博客内容,找到你需要找回的那条数据,记住key值。
    在这里插入图片描述
    注意看text里的内容,有些是浏览版,有些是Markdown编辑版,最好找Markdown版本,可以直接复制重新发布博客。

  3. 复制下列JS代码,依据你IndexedDB,修改idb配置

    var idb={
    	name:'stackedit-db',//数据库名
    	version:1,//版本号
    	store:'objects',//仓库名
    	db:null
    }
    function open(){
    	var r=indexedDB.open(idb.name,idb.version)
    	r.onsuccess = function (event) {
      		idb.db = r.result;
      		console.log('数据库打开成功');
    	};
    }
    function read(key) {
    	var store=idb.store;
       var transaction = idb.db.transaction([store],'readonly');
       var objectStore = transaction.objectStore(store);
       var request = objectStore.get(key);
       request.onerror = function(event) {
         console.log('事务失败');
       };
       request.onsuccess = function( event) {
          if (request.result) {
          var str=request.result.text;
          console.log(str.replace(/^\s+|\s+$/g,"").substr(-18));      			download('indexedDb_'+str.replace(/^\s+|\s+$/g,"").substr(-18)+'.txt',request.result.text);
          } else {
            console.log('未获得数据记录');
          }
       };
    }
    function download(filename, text) {
        var pom = document.createElement('a');
        pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
        pom.setAttribute('download', filename);
        if (document.createEvent) {
            var event = document.createEvent('MouseEvents');
            event.initEvent('click', true, true);
            pom.dispatchEvent(event);
        } else {
            pom.click();
        }
    }
    

    再把代码放到浏览器的控制台(console)。最后依次执行
    open();
    read(key);//key 为step2中你找到的key值
    在这里插入图片描述
    注意:如果浏览器拦截下载,将失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lipviolet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值