1. 程式人生 > >HTML5自適應手機螢幕

HTML5自適應手機螢幕

從網上學到的自適應程式碼,用於HighCharts報表
使用js進行自適應控制,程式碼如下:

<script type="text/javascript">
        var phoneWidth =  parseInt(window.screen.width);
        var phoneScale = phoneWidth/640;
        var ua = navigator.userAgent;
        if (/Android (\d+\.\d+)/.test(ua)){
            var version = parseFloat
(RegExp.$1); if(version>2.3){ document.write('<meta name="viewport" content="width=640, minimum-scale = '+phoneScale+', maximum-scale = '+phoneScale+', target-densitydpi=device-dpi">'); }else{ document.write('<meta name="viewport" content="width=640, target-densitydpi=device-dpi">'
); } } else { document.write('<meta name="viewport" content="width=640, user-scalable=no, target-densitydpi=device-dpi">'); }
</script>

完整html程式碼如下:

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title
>
ChartTestDemo</title> <script src="./jquery/jquery.min.js"></script> <script src="./highcharts/highcharts.js"></script> <script src="./highcharts/modules/exporting.js"></script> <script type="text/javascript"> var phoneWidth = parseInt(window.screen.width); var phoneScale = phoneWidth/640; var ua = navigator.userAgent; if (/Android (\d+\.\d+)/.test(ua)){ var version = parseFloat(RegExp.$1); if(version>2.3){ document.write('<meta name="viewport" content="width=640, minimum-scale = '+phoneScale+', maximum-scale = '+phoneScale+', target-densitydpi=device-dpi">'); }else{ document.write('<meta name="viewport" content="width=640, target-densitydpi=device-dpi">'); } } else { document.write('<meta name="viewport" content="width=640, user-scalable=no, target-densitydpi=device-dpi">'); } </script> </head> <body> <div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div> <script type="text/javascript"> $(function() { $('#container').highcharts({ chart: { type: 'column' }, title : { text: '資訊渠道人數' }, subtitle : { text: 'Source: WYM' }, xAxis : { categories: ['自營','網際網路','戶外','自然','自媒體','框架','400','其他'], crosshair: true }, yAxis : { min: 0, title: { text: '人數(個)' } }, tooltip : { headerFormat: '<span style="font-size:10px">{point.key}</span><table>', pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + '<td style="padding:0"><b>{point.y}人</b></td></tr>', footerFormat: '</table>', shared: true, useHTML: true }, plotOptions : { column: { pointPadding: 0.2, borderWidth: 0 } }, credits : { enabled: false }, series: [{ name: '男', data: [0, 7, 1, 2, 0, 3, 2, 1] }, { name: '女', data: [3, 43, 14, 13, 9, 9, 3, 3] }] }); }); </script> </body> </html>

記錄下來,以便以後使用