浏览器数据找回

news2024/12/23 23:37:08

网站上分享的文章应该都是个人的心血,对于一些操作问题导致心血丢失真的很奔溃,终于找到一个弥补的办法,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值
    在这里插入图片描述
    注意:如果浏览器拦截下载,将失败。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1613411.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】虚拟机与Xshell及VS Code的连接

一、基础环境 虚拟机:VMware Workstation Pro 虚拟机镜像:ubuntu-18.04.5-desktop-amd64.iso 其他:Xshell 6、Xftp 6、Visual Studio Code 上述软件的安装操作不再赘述,CSDN上有大量的优秀博文,可参考:详细…

【树莓派Linux内核开发】入门实操篇(虚拟机Ubuntu环境搭建+内核源码获取与配置+内核交叉编译+内核镜像挂载)

【树莓派Linux内核开发】入门实操篇(虚拟机Ubuntu环境搭建内核源码获取与配置内核交叉编译内核镜像挂载) 文章目录 【树莓派Linux内核开发】入门实操篇(虚拟机Ubuntu环境搭建内核源码获取与配置内核交叉编译内核镜像挂载)一、搭建…

【Hadoop】- YARN架构[7]

前言 Yarn架构是一个用于管理和调度Hadoop集群资源的系统。它是Hadoop生态系统的一部分,主要用于解决Hadoop中的资源管理问题。 通过使用Yarn架构,Hadoop集群中的不同应用程序可以共享集群资源,并根据需要动态分配和回收资源。这种灵活的资…

强固型工业电脑在称重系统+叉车电脑,称重量体扫码一体机,物流分拣线工作站行业应用

称重系统叉车电脑行业应用 背景介绍 在叉车上安装称重传感器,通过对举升压力的自动检测,将压力信号转换为电流或电压信号,经过A/D转换,使模拟信号变为数字信号,经微处理器进行数据处理后通过蓝牙、串口或者USB接口将称…

java的单元测试和反射

单元测试 就是针对最小的功能单元,编写测试代码对其进行正确性测试 Junit单元测试框架: 可以用来对方法进行测试 有点: 可以灵活的编写测试代码,可以针对某个方法进行测试,也支持一键完成对全部方法的自动发测试&a…

【C++初阶】vector使用特性 vector模拟实现

1.vector的介绍及其使用 1.1 vector的介绍 vector文档介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组&#…

分类神经网络1:VGGNet模型复现

目录 分类网络的常见形式 VGG网络架构 VGG网络部分实现代码 分类网络的常见形式 常见的分类网络通常由特征提取部分和分类部分组成。 特征提取部分实质就是各种神经网络,如VGG、ResNet、DenseNet、MobileNet等。其负责捕获数据的有用信息,一般是通过…

第24天:安全开发-PHP应用文件管理模块显示上传黑白名单类型过滤访问控制

第二十四天 一、PHP文件管理-显示&上传功能实现 如果被抓包抓到数据包,并修改Content-Type内容 则也可以绕过筛查 正常进行上传和下载 二、文件上传-$_FILES&过滤机制实现 无过滤机制 黑名单过滤机制 使用 explode 函数通过点号分割文件名,…

Spring Boot | Spring Boot 默认 “缓存管理“ 、Spring Boot “缓存注解“ 介绍

目录: 一、Spring Boot 默认 "缓存" 管理 :1.1 基础环境搭建① 准备数据② 创建项目③ 编写 "数据库表" 对应的 "实体类"④ 编写 "操作数据库" 的 Repository接口文件⑤ 编写 "业务操作列" Service文件⑥ 编写 "applic…

【 AIGC 研究最新方向(下)】面向平面、视觉、时尚设计的高可用 AIGC 研究方向总结

目前面向平面、视觉、时尚等设计领域的高可用 AIGC 方向有以下 4 种: 透明图层生成可控生成图像定制化SVG 生成 本篇(下篇)介绍 3、4,上篇在:https://blog.csdn.net/weixin_44212848/article/details/138035279?spm…

【FFmpeg】视频与图片互相转换 ( 视频与 JPG 静态图片互相转换 | 视频与 GIF 动态图片互相转换 )

文章目录 一、视频与 JPG 静态图片互相转换1、视频转静态图片2、视频转多张静态图片3、多张静态图片转视频 二、视频与 GIF 动态图片互相转换1、视频转成 GIF 动态图片2、 GIF 动态图片转成视频 一、视频与 JPG 静态图片互相转换 1、视频转静态图片 执行 ffmpeg -i input.mp4 …

初始化Git仓库时应该运行哪个命令?

文章目录 初始化Git仓库时,你应该运行git init这个命令。这个命令的作用是在你当前所在的目录里创建一个新的Git仓库。这样,你就可以在这个目录里开始使用Git来管理你的文件了。 下面我给你举个详细的例子来说明一下: 首先,你需要…

# 从浅入深 学习 SpringCloud 微服务架构(三)注册中心 Eureka(3)

从浅入深 学习 SpringCloud 微服务架构(三)注册中心 Eureka(3) 段子手168 1、eureka:高可用的引入 Eureka Server 可以通过运行多个实例并相互注册的方式实现高可用部署, Eureka Server 实例会彼此增量地…

Spark和Hadoop的安装

实验内容和要求 1.安装Hadoop和Spark 进入Linux系统,完成Hadoop伪分布式模式的安装。完成Hadoop的安装以后,再安装Spark(Local模式)。 2.HDFS常用操作 使用hadoop用户名登录进入Linux系统,启动…

ChatGPT研究论文提示词集合2-【形成假设、设计研究方法】

点击下方▼▼▼▼链接直达AIPaperPass ! AIPaperPass - AI论文写作指导平台 目录 1.形成假设 2.设计研究方法 3.书籍介绍 AIPaperPass智能论文写作平台 近期小编按照学术论文的流程,精心准备一套学术研究各个流程的提示词集合。总共14个步骤&#…

Llama3新一代 Llama模型

最近,Meta 发布了 Llama3 模型,从发布的数据来看,性能已经超越了 Gemini 1.5 和 Claud 3。 Llama 官网说,他们未来是要支持多语言和多模态的,希望那天赶紧到来。 未来 Llama3还将推出一个 400B大模型,目前…

Linux--链表 第二十五天

1. 链表 t1.next -> data t1.next->next->data .(点号)的优先级比->的大 所以 t1.next->data 就可以了 不用(t1.next)->data 2. 链表的静态增加和动态遍历 打印链表算法, void printLink(struct Test *head) { struct Te…

安装和部署maven

准备工作 maven下载地址:https://maven.apache.org/download.cgi 使用wget将maven包下载到linux环境上,/toos/ 目录下(也可用迅雷) wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.g…

PaddleOCRV4训练自己的模型(4)------模型推理及导出

一、Det模型推理: (1)上一篇文章只讲了推理的实现方法,没有展示结果,这里顺带展示一下结果。 因为训练定位模型的时候是整图训练,所以推理的时候也是整图推理。 (2)在推理的时候可以…

LinkedList和链表

1.ArrayList的缺陷 ArraryList由于底层是一段连续的空间,所以在ArrayList任意位置插入或者删除元素时,就 需要将后续元素往前或者往后搬移,时间复杂度为O(n),效率比较低,因此ArrayList不适合做任意位置插入和删除比较…