Skip to content

Instantly share code, notes, and snippets.

@extralam
Last active December 20, 2015 19:49
Show Gist options
  • Save extralam/6186189 to your computer and use it in GitHub Desktop.
Save extralam/6186189 to your computer and use it in GitHub Desktop.
Viewport setting on Android
//<meta name="viewport" content="width=device-width,height=device-height,user-scalable=yes,target-densitydpi=220,initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0" />
var viewportContent = '';
if ((window.devicePixelRatio <= 1 && window.outerWidth > 1024) {
console.log(" Special Case -> big screen but device pixel ratio is 1 window.outerWidth : " + window.outerWidth + " window.outerHeight " + window.outerHeight);
viewportContent = 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=device-dpi';
} else if ((window.devicePixelRatio <= 1) {
console.log(" RATIO == 1");
viewportContent = 'width=device-width,height=device-height, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=220';
} else if ((window.devicePixelRatio <= 1.3) {
console.log(" RATIO == 1.3");
viewportContent = 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=medium-dpi';
} else if (window.devicePixelRatio <= 1.5) {
console.log(" RATIO == 1.5");
viewportContent = 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=high-dpi';
} else if (window.devicePixelRatio <= 2) {
console.log(" RATIO == 2");
viewportContent = 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=220';
}else if (window.devicePixelRatio <= 3) {
console.log(" RATIO == 3");
viewportContent = 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=320';
}else {
console.log(" RATIO == " + window.devicePixelRatio);
viewportContent = 'width=device-width,height=device-height, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=device-dpi';
}
$('head').append('<meta name="viewport" content="' + viewportContent + '">');
</script>
/*
console.log("window.devicePixelRatio" + window.devicePixelRatio);
var screenCssPixelRatio = (window.outerWidth - 8) / window.innerWidth;
if (screenCssPixelRatio >= .46 && screenCssPixelRatio <= .54) {
zoomLevel = "-4";
} else if (screenCssPixelRatio <= .64) {
zoomLevel = "-3";
} else if (screenCssPixelRatio <= .76) {
zoomLevel = "-2";
} else if (screenCssPixelRatio <= .92) {
zoomLevel = "-1";
} else if (screenCssPixelRatio <= 1.10) {
zoomLevel = "0";
} else if (screenCssPixelRatio <= 1.32) {
zoomLevel = "1";
} else if (screenCssPixelRatio <= 1.58) {
zoomLevel = "2";
} else if (screenCssPixelRatio <= 1.90) {
zoomLevel = "3";
} else if (screenCssPixelRatio <= 2.28) {
zoomLevel = "4";
} else if (screenCssPixelRatio <= 2.70) {
zoomLevel = "5";
} else {
zoomLevel = "unknown";
}
console.log("screenCssPixelRatio : " + screenCssPixelRatio );
//<meta name="viewport" content="width=device-width,height=device-height,user-scalable=yes,target-densitydpi=220,initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0" />
var viewportContent = '';
if (screenCssPixelRatio <= 1.2) {
console.log("window.devicePixelRatio 1->" + window.devicePixelRatio + " " + screenCssPixelRatio);
viewportContent = 'width=device-width,height=device-height, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=device-dpi';
} else if (screenCssPixelRatio <= 1.66) {
console.log("window.devicePixelRatio 2 -> " + window.devicePixelRatio + " " + screenCssPixelRatio);
viewportContent = 'width=device-width,height=device-height, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=high-dpi';
} else if (window.devicePixelRatio <= 2.2) {
console.log("window.devicePixelRatio 2.2 -> " + window.devicePixelRatio + " " + screenCssPixelRatio);
viewportContent = 'width=device-width,height=device-height, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=220';
}else {
console.log("window.devicePixelRatio other " + window.devicePixelRatio + " " + screenCssPixelRatio);
viewportContent = 'width=device-width,height=device-height, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=yes, target-densityDpi=device-dpi';
}
$('head').append('<meta name="viewport" content="' + viewportContent + '">');
</script>
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment