IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    暂停页面资源占用

    aoao发表于 2012-01-12 16:05:04
    love 0

    “暂停页面资源占用”其实是个function,javascript也是可以用中文来写滴

    function 暂停页面资源占用(){
    	幻灯广告2.暂停();
    	文字滚动5.暂停();
    	啥啥啥动画.暂停();
    	定时更新长链接.低迷模式();
    }

    为什么要这样做呢? 装厚道,把资源让给别人,有些情况下还可以省自己服务器的资源。

    那什么时候调用他呢? onblur,那怎样变回正常呢?再写一个对应滴。

    但是这样看起来不是特别高级,怎样更高级呢?自定义事件 我记得好久好久前写过个task 让那些爱动的元素玩上 onElementShow onElementHide 这样的事件,然后就把上面的 function 分开了,让元素看不到时就可以开始暂停。

    其实还不够高级,我们还可以把 元素看不到 、页面 blur、窗口最小化 做进一步细分,不同阶段做不同深度的事。

    附窗口最小化检查

    function isMinStatus() { 
    	var isMin = false; 
    	if(window.outerWidth != undefined){ 
    		isMin = window.outerWidth <= 160 && window.outerHeight <= 27; 
    	}else{ 
    		isMin = window.screenTop < -30000 && window.screenLeft < -30000; 
    	} 
    	return isMin; 
    } 

    这代码也不是我发明的。。很久前找到的,忘记出处了。win下基本都能用。mac 研究了发现没啥好办法发现最小化,最后用了个很土的办法,键盘控有效。囧rz

    event.metaKey && event.keyCode =='77' //⌘command + m

    大家有其他好办法没?

    update
    小光说的Page Visibility 测试地址 M$测试地址,ie10 Chrome ff10+ 都支持, ff在mac支持得比较好,最小化算,但command+h 也不算,不知道为什么,突然在想显示桌面(F11/fn+F11) 要不要算。

    相关资料

    • w3c:Page Visibility
    • Using PC Hardware more efficiently in HTML5: New Web Performance APIs

    btw: 这内容是很久很久前写的,那时是想写个前端长篇小说,但后来不知道怎样没了,今天碰巧跟同学聊到这事,我整理整理发出来



沪ICP备19023445号-2号
友情链接