暂停页面资源占用

“暂停页面资源占用”其实是个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) 要不要算。

相关资料

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

This entry was posted in Web开发 and tagged . Bookmark the permalink.

5 Responses to 暂停页面资源占用

  1. Jerry Qu @ 2012-01-13 at 10:06

    可以把Page Visibility Api也给用上~

    • aoao @ 2012-01-13 at 11:29

      Chrome 在Mac下只有切Tab有用。。。。。。不过总比没有好。

  2. Cat Chen @ 2012-01-13 at 16:52

    动画如果使用 requestAnimationFrame 的话,是应该自动侦测浏览器是否显示的。我自己写了一个 requestAnimationFrame,在不支持的浏览器中会利用 Visibility API 来侦测页面是否显示。

    https://github.com/CatChen/requestAnimationFrame

  3. 沈蚊 @ 2012-01-13 at 17:07

    Win+D

  4. 白夜 @ 2012-01-14 at 22:39

    终于看到你更新了啊

发表评论

(必填)

(必填)