Files
eruda/eustia/viewportScale.js
2018-01-11 17:26:15 +08:00

40 lines
816 B
JavaScript

/* Get viewport scale.
*
* ```javascript
* viewportScale(); // -> 3
* ```
*/
_('meta clamp trim each map isNaN');
function exports()
{
let viewport = meta('viewport');
if (!viewport) return 1;
viewport = map(viewport.split(','), val => trim(val));
let minScale = 0.25,
maxScale = 5,
initialScale = 1;
each(viewport, val =>
{
val = val.split('=');
let key = val[0];
val = val[1];
if (key === 'initial-scale') initialScale = +val;
if (key === 'maximum-scale') maxScale = +val;
if (key === 'minimum-scale') minScale = +val;
});
let ret = clamp(initialScale, minScale, maxScale);
// Some will use ';' to be the separator, need to avoid the wrong result.
if (isNaN(ret)) return 1;
return ret;
}