12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- ;(function ($) {
-
- var _ = $.layout;
- _.plugins.browserZoom = true;
- _.defaults.browserZoomCheckInterval = 1000;
- _.optionsMap.layout.push("browserZoomCheckInterval");
- _.browserZoom = {
- _init: function (inst) {
- $.layout.browserZoom._setTimer(inst);
- }
- , _setTimer: function (inst) {
- if (inst.destroyed) return;
- var o = inst.options
- , s = inst.state
- , z = s.browserZoom = $.layout.browserZoom.ratio()
- ;
- if (o.resizeWithWindow && z !== false) {
- setTimeout(function(){
- if (inst.destroyed) return;
- var d = $.layout.browserZoom.ratio();
- if (d !== s.browserZoom) {
- s.browserZoom = d;
- inst.resizeAll();
- }
- $.layout.browserZoom._setTimer(inst);
- }, Math.max( o.browserZoomCheckInterval, 100 ));
- }
- }
- , ratio: function () {
- var w = window
- , s = screen
- , d = document
- , dE = d.documentElement || d.body
- , b = $.layout.browser
- , v = b.version
- , r, sW, cW
- ;
-
- if ((b.msie && v > 8)
- || !b.msie
- ) return false;
- if (s.deviceXDPI)
- return calc(s.deviceXDPI, s.systemXDPI);
-
- if (b.webkit && (r = d.body.getBoundingClientRect))
- return calc((r.left - r.right), d.body.offsetWidth);
- if (b.webkit && (sW = w.outerWidth))
- return calc(sW, w.innerWidth);
- if ((sW = s.width) && (cW = dE.clientWidth))
- return calc(sW, cW);
- return false;
- function calc (x,y) { return (parseInt(x,10) / parseInt(y,10) * 100).toFixed(); }
- }
- };
- _.onReady.push( $.layout.browserZoom._init );
- })( jQuery );
|