scale fit mobile web content using viewport meta tag
In the head add this
//Include jQuery<meta id="Viewport" name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"><script type="text/javascript">$(function(){if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) { var ww = ( $(window).width() < window.screen.width ) ? $(window).width() : window.screen.width; //get proper width var mw = 480; // min width of site var ratio = ww / mw; //calculate ratio if( ww < mw){ //smaller than minimum size $('#Viewport').attr('content', 'initial-scale=' + ratio + ', maximum-scale=' + ratio + ', minimum-scale=' + ratio + ', user-scalable=yes, width=' + ww); }else{ //regular size $('#Viewport').attr('content', 'initial-scale=1.0, maximum-scale=2, minimum-scale=1.0, user-scalable=yes, width=' + ww); }}});</script>
ok, here is my final solution with 100% native javascript:
<meta id="viewport" name="viewport"><script type="text/javascript">//mobile viewport hack(function(){ function apply_viewport(){ if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) { var ww = window.screen.width; var mw = 800; // min width of site var ratio = ww / mw; //calculate ratio var viewport_meta_tag = document.getElementById('viewport'); if( ww < mw){ //smaller than minimum size viewport_meta_tag.setAttribute('content', 'initial-scale=' + ratio + ', maximum-scale=' + ratio + ', minimum-scale=' + ratio + ', user-scalable=no, width=' + mw); } else { //regular size viewport_meta_tag.setAttribute('content', 'initial-scale=1.0, maximum-scale=1, minimum-scale=1.0, user-scalable=yes, width=' + ww); } } } //ok, i need to update viewport scale if screen dimentions changed window.addEventListener('resize', function(){ apply_viewport(); }); apply_viewport();}());</script>