分类: JavaScript

浅谈setTimeout与setInterval函数『不为人知』的第三个参数

提到JavaScript下的setTimeout()setInterval()函数,接触过JavaScript的读者一定非常熟悉:两个函数都接收一个函数和一个延时两个参数,前者用于设置超时,后者用于设置定时执行。但其实这两个函数除了以上两个参数外还有第三个参数。

继续阅读 浅谈setTimeout与setInterval函数『不为人知』的第三个参数

JavaScript实现点击contenteditable的span标签后全选标签文字,类似于this.select()方法

在JavaScript中,我们通常使用this.select()实现可编辑文本框中的全选操作,但对于通过添加contenteditable="true"参数来实现可编辑的span标签,这个方案却并不能奏效,需要多写一些代码来实现相同的功能。这篇文章为大家分享一种在可编辑的span标签内实现全选的方法。

继续阅读 JavaScript实现点击contenteditable的span标签后全选标签文字,类似于this.select()方法

三行JavaScript代码屏蔽浏览器的DevTools,保障前端页面的基础安全

尽管大多数浏览器中内置的DevTools为日常开发和调试带来了巨大便利,但在某些需要保证『安全性』的场合,例如在线考试、在线教育、或是一些行业应用,我们也对DevTools『恨之入骨』:抓包、修改数据、插入恶意代码、查看源码、Debug深入原理……
但其实屏蔽DevTools的方法非常简单,简单到只需要三行代码。

继续阅读 三行JavaScript代码屏蔽浏览器的DevTools,保障前端页面的基础安全

如何使用JavaScript判断一个值是否在一个数组中(续)—— JavaScript&TypeScript中的迭代器

『如何使用JavaScript判断一个值是否在一个数组中』一文里,我提到了使用Array.prototype.includes()Array.prototype.indexOf()两种方法来实现这一需求,但其实对于JavaScript这样一门极为灵活的语言来说,实现方法远不止以上两种。

继续阅读 如何使用JavaScript判断一个值是否在一个数组中(续)—— JavaScript&TypeScript中的迭代器

使用轻量插件,轻松美化prompt()与alert()

由于prompt()在不同浏览器下的实现有着巨大差异,甚至有个别浏览器不提供对prompt()的支持,因此定制这个对话框在对用户体验有较高要求的场景下显得非常重要。然而通常用于实现这个功能的库要么过于庞大、要么配置复杂、要么侵入性强,需要对现有的网页进行较多改动,但有一个小众的库却脱颖而出,体积小(gzip后仅4.5kb),效果好。这就是这篇文章要介绍的Prompt-Zepto
继续阅读 使用轻量插件,轻松美化prompt()与alert()

该暴力时必暴力——论alert()及其不知名的两个兄弟

尽管由于工作需要,我不得不写大量的前端代码,但我依旧没有胆量自诩『前端程序员』,也并未花多数精力在钻研前端上。当alert()与其不甚知名的两个兄弟走入我的世界之时,我竟然有点惊喜,因为我又学到了更多的Tricks,又可以“偷懒”了!
继续阅读 该暴力时必暴力——论alert()及其不知名的两个兄弟

iOS中Date对象对于时间字符串的兼容性问题以及解决方法

iOS中的WebView默认为Safari,而大量iOS用户也有使用Safari浏览器进行网页浏览的习惯,然而,Safari浏览器对于某些JavaScript对象的解析与常用的Chrome、Firefox、IE、Edge等有很大不同,稍不注意就容易掉坑里去,导致很多不必要的麻烦。

继续阅读 iOS中Date对象对于时间字符串的兼容性问题以及解决方法