![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Front-end
文章平均质量分 64
博唯
文章自娱 知识共享
展开
-
如何在iOS Safari/Android Chrome禁止手势缩放、阻止下拉刷新、阻止滑动前进后退
本文代码源自我在 StackOverflow Disable pull-to-refresh in iOS 15 Safari 的回答,难点在于 1. 同时兼容iOS Safari和Android Chrome 2. 足够标准不至于过段时间就不适用 3. 副作用小不至于让开发者左右两难原创 2022-12-06 01:15:28 · 3090 阅读 · 4 评论 -
各浏览器的setInterval实现细节测试
如何以指定的帧速绘制动画?用setInterval来调度误差大吗?下面的测试会给出解答。测试15fps的帧速(帧间隔毫秒为1000/15),测试持续60秒,期间页面一直保持显示状态(不切换到后台,不息屏)原创 2022-12-01 19:29:56 · 969 阅读 · 0 评论 -
给网站添加“开放搜索描述“以适配浏览器的“站点搜索“
要在一个常用网站搜索,想必大部分人会这样:而如果一个网站适配了浏览器的"站点搜索"(site search)特性,或者说添加了"开放搜索描述"(opensearch description),那么用户可以也通过以下方式进行搜索:如果你需要频繁新打开页面在一个网站搜索,使用站点搜索方式来搜索通常可以节省时间。以下步骤将以站点www.example.com为例,介绍如何将一个现有查单词的搜索功能集成到浏览器地址栏。例如:search.osdx,放置在站点首页旁边服务器在提供search.osdx时最好使用标准原创 2022-06-23 11:11:41 · 662 阅读 · 0 评论 -
一种canvas动画的帧速控制方法
在使用requestAnimationFrame时,如何以指定的帧速绘制动画?我能想到的是:假设检测到浏览器允许的requestAnimationFrame帧速为60fps,要实现30fps动画只需在每2个requestAnimationFrame回调中丢弃1个,要实现24fps则在每5个中丢弃3个,要实现59fps呢?当然是在每60个中丢弃1个。关于帧丢弃的规则,我之前的设想是预设一些帧丢弃的范式例如 60fps转24fps的范式为[1,0,0,1,0,1,0,0,1,0,...](其中的0代表丢弃帧原创 2022-03-24 15:43:57 · 1356 阅读 · 1 评论 -
A robust way to prevent window from unloading with onbeforeunload and addEventListener beforeunload
It’s annoying that sometimes the beforeunload event listener doesn’t not work. so I’m going to take some time starting an experiment.Teststest which of the following js code can prevent window unloadevent.preventDefault()event.returnValue='xxx'return原创 2023-10-16 09:21:52 · 240 阅读 · 0 评论 -
纯文本转超文本
本文介绍一种将纯文本转换成超文本的方法,使其转成的超文本内容在HTML页面中预览的效果与原纯文本预览的效果一致。该转换可采用正则表达式搜索替换来实现,具体规则如下:将HTML中5个基本保留字符(<, >, &, ", ')转换成对应HTML实体("&lt;", "&gt;", "&amp;", "&quot;&qu原创 2015-12-09 17:35:48 · 899 阅读 · 2 评论 -
CSS的逻辑长度与现实的物理长度
已知在现行的CSS版本中,in、cm、px是逻辑绝对长度单位,独立于显示设备,三者的转换关系是1in=2.54cm=96px。1in在显示设备(后文称显示器)上呈现多长,由操作系统的分辨率配置与显示设备的规格共同决定...原创 2016-02-21 22:29:24 · 2328 阅读 · 0 评论 -
JavaScript String Byte Length of UTF-8
To calculate byte length( with UTF-8 encoded) of a string, here you are, a proper method...原创 2016-02-21 19:31:05 · 1342 阅读 · 0 评论 -
JavaScript的最大函数参数长度和最大栈深度检测
一般代码或许不会涉及最大参数长度和最大栈深度,但某些特殊场合,检测这两个参数还是有必要的。例如:用递归计算斐波那契数列的第n个值,不了解最大栈深度,难免显得肤浅。又例如:将一串charCode转成String,不了解最大参数长度,采用字符串拼接的方式,效率提不上,特别是在串较长的情况下。原创 2014-06-21 19:02:42 · 2972 阅读 · 1 评论 -
jQuery - 基于serializeArray的serializeObject
jQuery有方法$.fn.serialize,可将表单序列化成字符串;有方法$.fn.serializeArray,可将表单序列化成数组。如果需要其序列化为JSON对象,那么可以基于serializeArray编写方法serializeObject轻松实现:原创 2012-11-15 10:48:25 · 34844 阅读 · 2 评论 -
使用最近浏览器批量下载有序图片
有序图片批量下载程序代替 迷你迅雷的批量下载(要不是迅雷批量下载图片太慢,我才懒得花时间做这东西)用法:1.打开这些HTML写的下载页面,按提示输入URL,点击下载2.按F12打开控制台可以查看进度,下载进度完成后Ctrl+S将网页保存(保存所有)3.打开保存的目录下将那个xxx_files重命名为xxx(对话框提示选确定),删掉xxx.html打开xxx目录,图片原创 2012-09-11 15:10:20 · 1678 阅读 · 0 评论 -
将URL解析成像location一样的对象
之前使用Java的API命名做了解析location.search的例子现在404页面需要分析document.referrer,不能直接拿到search字符串,所以还得想办法把URL解析成像Location一样的对象可以想象,这种方法浏览器和服务器必须会有,JavaScript实现应该也有了,不过还是写一个玩玩,以显示个人风格:function parseLocation原创 2012-09-11 13:14:55 · 1153 阅读 · 0 评论 -
Location之getParameter
纠结问题:有时候需要在页面获取Location中参数,Google到了不少结果,看了下代码,没有找到很满意的。毛委员说 自己动手 丰衣足食 还是自己写个吧URL分析:大体思路:从location中获得search字符串,并去掉开头的问号,用&将其分隔成数组,获得数组params对于每个param,用=将其分隔成数组,得到name和value将na原创 2012-08-27 12:31:39 · 1287 阅读 · 1 评论 -
一种基于ES5的JavaScript继承
关于JavaScript继承,方式很多,包括compile-to-javascript的语言TypeScript, CoffeeScript以及网站MDN, GitHub, Modernizr各种polyfill都给出了稳妥的实现方案。从ES5的角度看,这其中一些方案在功能上OK,但在语义上却不尽如人意。本人从这些方案中采取一些比较潮的思路,整理出一份方案,可实现与原生DOM类继承的风格一原创 2014-05-25 15:37:27 · 2273 阅读 · 0 评论 -
JavaScript(ES5)使用保留字作函数名
ES5允许直接使用保留字作为属性名,但却不允许直接使用保留字作为函数名设现有类NSMap,若要给NSMap的原型加delete方法,如function NSMap(){}NSMap.prototype.delete=function delete(){};则浏览器解析报错SyntaxError: Unexpected token delete那么,为什么native原创 2014-06-21 18:32:36 · 2147 阅读 · 0 评论 -
使用jQuery Ajax过滤实现REST不间断会话
使用jQuery Ajax过滤实现REST不间断会话当客户端与服务端的会话超时,发出一个Ajax数据请求,遇到403状态码怎么办?在Shell终端里,超级管理员会话超时时,会自动显示密码输入确认。对页面来说,是要捕获每个状态码为403的失败请求,待登陆成功后一个个replay,还是在登陆成功后直接刷新页面?jQuery发展到今天,应该会提供处理这种业务的功能。果然找到madpi原创 2014-08-15 19:10:41 · 2403 阅读 · 0 评论 -
使用限制函数执行频率的函数代理
使用代理限制函数的调用频率假设一个经典的CURD页面上,要做一个Ajax异步查询功能。放一个查询按钮,点击查询,系统会到远程服务端请求数据,一秒之后返回查询结果。很快,功能实现了!但假如用户一秒内点击了三次查询,会发生什么?为了解决这个问题,我们可能会在用户点击查询之后禁用查询按钮,或者在处理查询时上锁,返回结果后再把锁放开。很好,做到这里,已足够日常使用。原创 2014-08-15 18:04:19 · 2098 阅读 · 0 评论 -
使用指定构造器和参数列表构造实例
给定构造函数和参数列表,求构造实例。function newInstance(constrcutor,args){...} 此功能的应用场景不广,但也算填补了JavaScript应用层的一个空白原创 2015-05-14 17:37:20 · 824 阅读 · 0 评论