js getTime()返回NaN的问题

今天在项目中的一个js文件中,使用了getTime()的方法来获取毫秒数。但是在手机中运行项目的时候发现,部分设备获取毫秒数异常,返回NaN。
获取时间戳的代码如下:

JavaScript中的addEventListener自定义事件

说到JavaScript事件,我们首先就能想到click事件、submit事件等等。但是有时候这些预定义的事件并不能满足我们的需求,比如在提供给第三方的SDK中。

由于SDK运行的环境非常复杂,第三方业务中有什么代码我们无法预知,这可能会导致事件冲突的问题,这时候我们就需要自定义事件来避免此类冲突了。

js多级返回上一级页面时出现的死循环解决方法

history.go(-1)是js返回上一级的方法,很容易实现让页面从哪来回哪去,简单好用,但是如果我们有多级页面,这个方法会出现死循环。

比如我们访问页面的顺序是A->B->C,在C页面点击返回,会跳到B页面,在B页面再点击返回,就到了C页面,并不是我们期望的A页面,这样就出现了死循环,导致无论如何我无法返回到A页面。

解决方法:

PHP分片上传

PHP的上传受一些配置的影响,一般默认上传最大文件为8M,如果我们需要上传一个10M的文件怎么做呢?

简单实现的话,我们可以通过修改PHP的配置文件来实现:

upload_max_filesize = 2M //PHP最大能接受的文件大小
post_max_size = 8M //PHP能收到的最大POST值'
memory_limit = 128M //内存上限
max_execution_time = 30 //最大执行时间

但是如果我们需要上传一个100M的文件呢?单纯修改上面的配置是不行的,即使测试中能把文件传上去,等到生产环境多个用户一起访问,服务器配置再强大也得挂掉。

所以我们就需要在前端把文件拆分开,也就是所谓的分片上传。

分片上传用到了一些HTML5的新特性,所以对于一些比较老的浏览器就不能用了,我们可以提示用户去下载现代浏览器,或者使用flash来做兼容,本示例中,我们不考虑兼容问题,默认用户在使用现代浏览器。

jquery解析链接

有时候我们需要分析一个url,在使用PHP和node.js时都有非常方便的方法/模块,但在JS我好像没发现什么好的方法,通过查找,在jQuery中发现了一个比较方便的方法。

示例如下:

js倒计时,刷新不重记

js倒计时,实现起来不难,但是刷新往往就重新计算了,如果要实现刷新不重计该如何做呢?有这么几种思路,1:cookie 2:本地缓存 3:window.name ……

前两种比较容易理解,今天我来为大家实现以下使用window.name实现刷新不重计,代码如下: