内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!
大家好,我是大澈!
本文约 700+ 字,整篇阅读约需 1 分钟。
今天分享一段优质 JS 代码片段,实现在关闭或刷新浏览器窗口时做提示。
老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!
window.addEventListener('beforeunload', function (event) {
const confirmationMessage = "确定要离开此页面吗?您所做的更改可能不会被保存。";
event.preventDefault();
event.returnValue = confirmationMessage;
return confirmationMessage;
});
分享原因
这段代码展示了如何使用 JavaScript 的 beforeunload 事件来提示用户在关闭或刷新浏览器窗口时确认操作,从而避免意外的数据丢失或操作中断。
这种方法适用于 未保存的数据(如填写表单或编辑文档)、长时间操作(如文件上传或大规模数据处理)、敏感操作(如在线交易或重要系统设置)等场景。
项目中用到时直接CV,但对于用户体验而言,不宜过度使用。
代码解析
1. window.addEventListener('beforeunload', function (event) { ... })
为 window 对象添加一个 beforeunload 事件监听器。
当用户试图关闭或刷新浏览器窗口时,此事件将被触发。
2. event.preventDefault();
调用 event.preventDefault() 方法来阻止默认的浏览器行为。
在大多数情况下,这一步是冗余的,因为 beforeunload 事件默认不会执行任何动作,但这可以确保兼容性。
3. event.returnValue = confirmationMessage;
设置 event.returnValue 为 confirmationMessage 提示信息。
这是确保在大多数现代浏览器中显示确认对话框的关键步骤。
4. return confirmationMessage;
返回 confirmationMessage 提示信息。
在一些旧版浏览器中,这一步是必要的,以确保显示提示信息。
闽南网]
很多人在平时浏览网页的时候,或许都会发现一些事情,当你发现一篇好文章或者是一些有趣的东西时,想复制却不能复制,相信很多人遇到不少这样的问题,那么这种情况该怎么解决呢,下面就和小编一起来看看吧!
方法1
1打开目标网页,选中网页的地址栏。(这里以360浏览器为例)
2在地址栏输入下行代码,全部输入。
javascript:void($={});
按下回车键(Enter),破解完成。(回车后不会跳转网页)
3注意,如果网页被刷新,限制会恢复,需要重新输入代码。
方法2
1打开右上角工具,选择最后的选项
2选择 高级设置-网页设置,点击 网页内容高级设置
3找到 JavaScript选项-不允许任何网站运行 JavaScript
4完成,关闭选项标签页。(做完之后可以调回去)
方法3
用浏览器随便打开一个网页,添加到收藏夹,最好放到浏览器的标签栏,方便使用。这里以百度为例
添加之后右键选择编辑,修改名字为【破解限制】,在地址栏粘贴以下代码
javascript:(function{eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function{return'\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p}('5 2=8;5 3=2.K;3.7=3.k=3.e=3.9=3.6=3.y=3.7=3.z=2.7=2.k=2.e=2.9=2.6=4;2.7=2.6=2.c=2.9=p{r t};g(8.n||8){d=4;c=4;6=4}5 a=8.15(\'*\');o(5 i=a.q-1;i>=0;i--){5 b=a[i];g(b.n||b){d=4;c=4}}s(h(\'%u%v%w%x%j%17%A%B%C%j%D\')+\'\E\'+h(\'%F%G%H%I%J%l%L%l%M%N%O%P%Q%R%S%T%U%V%W%X%Y\')+\'\Z.10.11\');3.m.13=\'14!f\';3.m.16=\'12!f\';',62,70,'||doc|bd|null|var|oncontextmenu|onselectstart|document|onkeydown|arAllElements|elmOne|onmousedown|onmouseup|onpaste|important|with|unescape||u5236|oncopy|u7528|style|wrappedJSObject|for|function|length|return|alert|true|u5DF2|u89E3|u9664|u590D|onmousemove|ondragstart|u53F3|u952E|u9650|uFF01|u000d|u66F4|u591A|u7CBE|u5F69|u5B9E|body|u5e94|uFF0C|u8BF7|u5173|u6CE8|u300E|u0065|u5f27|u5ea6|u7535|u5b50|u5546|u52a1|u300F|u000dwww|ehudu|com|text|webkitUserSelect|auto|getElementsByTagName|MozUserSelect|u4E0E'.split('|'),0,{}))})
保存,完成。打开需要破解的网页,点一下刚才创建的标签,破解完成,但每次打开网页都需要点一下破解的标签。要求:浏览器必须能执行javascript代码,其它浏览器添加书签类似。
方法4
使用Ctrl+A选择网页全部文字,Ctrl+C复制,新建文本档案,Ctrl+V粘贴,删除不需要的文字。(这个方法只适用于网页内容无法选中的网页,有时候会无法复制,这时候就需要用到上面的方法了)
页编程之自动刷新。
各位同学好,今天我们来分享一下如何设置网页自动刷新和延时跳转。我们都知道,在浏览器中点击刷新按钮或者按下F5键可以刷新页面,但在编程中有时需要自动刷新页面,加载最新的数据,无需用户参与。这就是我们今天要讲的内容。
接下来让我们来看看效果如何。
·首先,在页面上添加了一个滚动字幕和一张GIF动画,用于展示页面的刷新状态。
·现在可以看到,每隔3秒自动刷新一次,每当刷新时,字幕会回到初始位置,动画也会重新播放。
·如果不明显,可以看到鼠标指到的位置会不停地触发刷新按钮,效果已经很明显了。
现在让我们来看看实现代码。自动刷新使用了meta标签的http-equiv属性,值为referesh,表示自动刷新。设置了content属性,在内容中填写秒数,即每隔多少秒自动刷新页面。如果设置为3,则每隔3秒自动刷新页面,非常简单。
·延时跳转的实现也很简单。刚才已经将Content属性设置为3,现在只需要指定要跳转到的URL。它的写法是在3后面加上一个英文分号,然后加上url等于要跳转到的地址。在这里,我们跳转到新浪首页,例如视频。这样写好后,回到浏览器保存,可以看到倒计时321,成功跳转。在指定时间后,浏览器会自动跳转,功能已经实现。
今天的分享就到这里,希望各位同学可以照着写3遍,做到不看视频也能写出来。所有案例和相关文档都可以向我索取。
我们下期再见,想学编程可以关注网页编程、服务端编程、数据库和算法方面的内容。
点赞支持一下。
*请认真填写需求信息,我们会在24小时内与您取得联系。