1.关于JS的引入顺序问题
建议在body标签下引用,不会阻止浏览器页面的渲染。如若非要在<head>标签内部提前引用,对于涉及DOM操作的js函数建议在
<body onload="init()">
标签中加入onload事件,js操作需放入init()函数中。
2.对于window.onload
onload事件不要用匿名函数。一个html页面中可同时调用多次window.onload事件,如若为匿名函数,浏览器会自上而下执行,最终会最后一个onload所调用的匿名函数会覆盖前面的。
若一个html文档中同时有
window.onload= function(){}
<body onload="init()"></body>
,只触发init()。原因:window.onload为匿名韩式,被init()覆盖。解决方法:window.onload不要用匿名函数。
$(document).ready、window.onlad、<body onload="init()">
,三者在不用匿名函数的情况下依次触发,
<body onload="init()"></body>
最后触发。
3.对于页面高频率同时发送多个异步请求的问题
如果页面初始化时依次会高频率多次发送异步请求,建议在回调中依次触发,否则页面连续刷新后导致server返回数据与请求不对应,导致请求返回值错误。
4.页面自适应问题
当页面嵌入iframe时,
@media screen and (max-height:604px)
max-height指的不是浏览器视口高度,而是document的innerHeight。