摘要:
1、$.when(ajax).done(function(data)});2、$.ajax().done(function(data){});1中的data被封装进一个对象[data, "success", aboutData]data为返回的数据“success”为返回的信息状态,表示成功或失败aboutData为数据相关的信息2中只包含data信息,不包含状态和相关信息 阅读全文
摘要:
1、取得当地时间与GMT时间的时间差 (new Date()).getTimezoneOffset() //单位为分钟2、GMT时间加上与当地时间的时间差 (new Date(GMTTime)) + (new Date()).getTimezoneOffset() * 600003、获得当地时间的毫秒数之后,转换为Date对象,之后调用Date对象的相关方法获取需要的数据。 阅读全文
摘要:
window.postMessage1、浏览器兼容情况:IE8+、chrome、firefox等较新浏览器都至此。2、使用方法: a、otherWindow.postMessage( message, targetOrigin); otherWindow iframe属性中的对象或者window.open打开的窗口 message 要发送的信息 targetOrigin 限定消息的发送范围,如果不限制,使用“*” b、监听message事件的触发 $(window).on("message", function(event){ aler... 阅读全文
摘要:
模板的处理步骤:1、将模块的html、css、js封装进一个json格式的文件。例如{"html":"", "style":"", "script":""}。或者直接将style字段的内容直接内嵌到html字段中。2、将该文件部署到服务器的某个静态资源文件夹中。3、绑定事件触发ajax请求,url指定到服务器上对应的静态资源文件。4、在返回的数据中,取出html和style插入页面DOM5、在返回的数据中,出去script,执行globalEval。注意点:1、js需要包裹在 阅读全文
摘要:
1、有没有可能对线上报错进行实时监控,只要线上报错出现就会以邮件的形式发出来。2、有没有可能将每个模块和开发者联系起来,只要报错就直接报给开发者 阅读全文
摘要:
浏览器基本上包括如下几个组件1、HTML、XML、CSS、JavsScript解析器2、Layout3、文字和图形渲染4、图像解码5、GPU交互6、网络访问7、硬件加速 阅读全文
摘要:
监控图片加载可以采用$(".some-img").load(function(){ alert("loaded");});但是图片默认是读缓存的,第一次加载可以监控到,但之后的加载就无法监控到了。解决方法:1、可以为图片加时间戳,每次都去请求图片,但这显示不是一个好的做法。2、将之前的代码嵌入some-img标签的前面,避免图片load之后才为其绑定load事件。 阅读全文
摘要:
当实现轮播时,如果几张图片依次摆放。则从1直接切换到5的时候,会经过2-3-4的切换,让用户头昏眼花。两种解决的方法:1、把图片放入dom中,每次点击切换时,都把需要的图片从DOM中取出再放到当前图片的后面。2、把图片存放在js的数组中,每次点击切换则从数组中取出需要的图片并插入DOM,切换完成之后然后把当前图片放入数组。两种方案都不需要重复加载图片。第二种方案的好处在于DOM中只存在两张图片,比较整洁。 阅读全文
摘要:
1、判断某元素上是否绑定了某种类型的事件 var $events = $("#foo").data("events"); if( $events && $events["click"] ){ doSomething();}2、如何验证某个元素是否为空 方法一if (! $('#keks').html()) { //什么都没有找到;} 方法二if ($('#keks').is(":empty")) { //什么都没有找到;}3、如何在jQuery对象中找出某个元素的索引 阅读全文
摘要:
setTimeout(function(){alert(1);}, 1000);在使用setTimeout、setInterval的时候,会传一个时间来控制代码的执行时机。在经过了设置的时间段后,代码开始执行。这看上去很像是在异步执行。但是,如果在执行队列中之前的代码执行了超过设置的时间时,例如function test(){ setTimeout(function(){alert(1);}, 1000); while(true){}}此时,由于while执行的时间一定会超过1s,所以alert并不会按照预期在1s之后出现。 阅读全文