页面实现自动保存内容功能

实现自动保存功能有3三种方式

大家好,我是音神,最近在写功能的时候,遇到了自动保存内容功能,花了很久的时间,废了很多的心血,终于把它写完了,下面就来跟大家聊聊我的实现方式,哈哈哈,每次分享知识心里总是很开心,控制不住的开心~

1.第一种是使用js定时,页面加载完成先将内容保存到浏览器内存;然后编写定时代码,判断现在的内容是否和存储的内容一致,如果不一致就调用后端接口执行自动保存操作。

  • 优点是后端会完整的保存数据
  • 缺点是浏览器内存存储的数据量大

2.第二种也是定时方式实现的,和第一种类似,唯一不一样的地方是浏览器内存存储的不再是内容,而是内容的长度,定时判断对比的是长度,长度不一样时执行自动保存操作。

  • 优点是浏览器内存存储的数据量小了
  • 缺点是在打字的时候,如果只打一个字时,比如“啊”字,你会先输入一个a的字母,然后再去选字,这时,定时每秒执行一次,已经将带a字母的内容长度保存到了浏览器内存,当你选完“啊”字后,输入的长度和浏览器内存存储的长度一直,不会触发自动保存,不会自动将“啊”保存。

3.第三种是使用js的input事件,这个事件非常的神奇,只要你改变输入框的内容就会触发事件,输入内容也好、删除内容也好、输入空格也好,只要内容变了就会触发。所以可以直接在事件触发时进行调用后端接口,执行自动保存操作,非常完美。

  • 优点是没有了第一种和第二种的额外逻辑处理,代码量少了,也不用担心方法2数据保存不完整的缺点了,也不用费脑细胞写复杂而又恶心的逻辑了,完全啥也不管了,只要你来我就保存,管你三七二十一,哈哈哈~
  • 缺点是…目前还没想到,嘿嘿嘿~

4.当然还有更粗暴的方式,我就写一个js定时器,每秒调用一次,定时器啥也不写,就调用后端接口执行自动保存操作。看起来确实是继承了方法3的优点,代码量少了一些,也不用写复杂的代码逻辑了,但是呢,你一秒调用一次,服务器哥们受不了呀,他会疯的…

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
保存web页面。自动将选项卡的html文件保存在选定的目录中。也刷新了页面安排… 保存网页。 自动将选项卡的html文件保存在预定计时器上的所选目录中。 同时刷新计划的计时器上的页面。 请注意,此功能仅在适用于Windows 8和10的Chrome上进行了测试。我有报告说,它不适用于Linux的Chrome,也可能不适用于Apple的Chrome。 因此,请仅在Windows 8或10上使用。我没有对此应用程序进行任何更新,但我仍然亲自使用它,它对我来说非常有用,如下所述。 用作简单的屏幕抓取工具,将网页的html保存到文件中。 然后,您可以使用另一个程序解析html文件并提取内容。 如果页面使用新内容自动刷新,则内容将保持更新,或者您可以在计时器上自动刷新页面。 1)选择要自动保存的选项卡,打开自动保存扩展名,单击+,它将显示所选的选项卡。 2)从Google下载目录中选择一个子目录(只能使用Chrome扩展程序将下载目录和子目录保存到其中)。 保留空白以保存到下载。 您还可以将Chrome配置为指向计算机/网络上的任何目录作为默认的“下载”目录(“设置”,“高级”)。 然后,自动保存将保存到该目录或在自动保存中配置的任何子目录。 3)输入文件名。 即使格式相同,.txt扩展名的保存速度似乎也比.html快。 每次都覆盖相同的文件。 目的是在不创建大量文件的情况下获取最新的网页内容。 4)选择自动保存间隔(以秒为单位)。 5)选择以分钟为单位的自动刷新网页时间。 空白或“从不”将永远不会刷新页面。 该扩展程序会清除Chrome的“下载”信息,仅用于自动保存文件,以防止文件过大并成为内存问题。 权限:1)阅读并更改您访问的网站上的所有数据-必须能够保存网页上的内容-该扩展程序必须首先获取该页面。 我们可以将其限制为单个页面,即您要保存的页面。 但是,这样对其他任何页面都无效。 2)管理您的下载-创建页面的html作为链接,并将该链接发送到Chrome以进行下载和保存。 必须管理下载才能做到这一点。 支持语言:English (United States)
在 WinForm 中实现自动登录功能,一般需要将用户输入的登录信息保存到本地,下次启动程序时自动读取已保存的信息进行登录。以下是一个简单的实现步骤: 1. 在登录页面添加“记住密码”选项,并将用户输入的账号和密码保存到本地,可以使用配置文件、注册表、数据库等方式进行存储。 2. 在程序启动时检查本地是否保存了用户登录信息,如果有则自动填充账号和密码,并触发登录按钮的 Click 事件进行自动登录。 3. 在用户手动退出登录时,清除本地保存的登录信息。 下面是一个示例代码: ```csharp private void LoginForm_Load(object sender, EventArgs e) { // 读取保存的登录信息 if (Properties.Settings.Default.RememberMe) { txtUsername.Text = Properties.Settings.Default.Username; txtPassword.Text = Properties.Settings.Default.Password; chkRememberMe.Checked = true; btnLogin.PerformClick(); } } private void btnLogin_Click(object sender, EventArgs e) { // 登录验证 if (ValidateUser(txtUsername.Text, txtPassword.Text)) { // 保存登录信息 if (chkRememberMe.Checked) { Properties.Settings.Default.Username = txtUsername.Text; Properties.Settings.Default.Password = txtPassword.Text; Properties.Settings.Default.RememberMe = true; Properties.Settings.Default.Save(); } else { Properties.Settings.Default.Username = ""; Properties.Settings.Default.Password = ""; Properties.Settings.Default.RememberMe = false; Properties.Settings.Default.Save(); } // 登录成功 this.DialogResult = DialogResult.OK; } else { // 登录失败 MessageBox.Show("登录失败,请检查账号和密码是否正确。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void btnLogout_Click(object sender, EventArgs e) { // 清除登录信息 Properties.Settings.Default.Username = ""; Properties.Settings.Default.Password = ""; Properties.Settings.Default.RememberMe = false; Properties.Settings.Default.Save(); // 退出登录 this.DialogResult = DialogResult.Cancel; } ``` 其中,Properties.Settings.Default 是一个应用程序配置文件,用于保存应用程序的配置信息。ValidateUser() 方法用于验证用户输入的账号和密码是否正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值