`
mayijun000
  • 浏览: 66889 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

移动端H5根据缩放进行适配

 
阅读更多

    之前写了一篇根据rem适配的文章,也是H5适配的一种方式。这次介绍一下通过对页面的缩放进行适配。

每次写博客都很快速草草结束,还请见谅。自从java转到h5后就没怎么写,从现在开始把之前学习的都补上,也是对自己学习到的知识进行一个备份和积累。把这个分享出去和大家一起学习和讨论。

 

     首先不得不说的就是meta标签,一般都会进行设置

<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />

    其中width - viewport的宽度

height - viewport的高度
initial-scale - 初始的缩放比例
minimum-scale - 允许用户缩放到的最小比例
maximum-scale - 允许用户缩放到的最大比例
user-scalable - 用户是否可以手动缩放

都说这种简单粗暴,我就更粗暴点直接上代码

    var UA = navigator.userAgent,
        isAndroid = /android|adr/gi.test(UA),
        isIos = /iphone|ipod|ipad/gi.test(UA) && !isAndroid, // 据说某些国产机的UA会同时包含 android iphone 字符
        isMobile = isAndroid || isIos;  // 粗略的判断

 

            var metaEl = doc.querySelector('meta[name="viewport"]'),
                metaCtt = (metaEl ? metaEl.content : '').replace(/\s*/g, '');

            var kvs = metaCtt.split(','), data = {};
            for (var i = 0; i < kvs.length; i++) {
                var kv = kvs[i].split('=');
                if (/width/.test(kv[0])) {
                    data.width = kv[1];
                }
                data[kv[0]] = kv[1];
            }
            data.width = data.width || 640;

            if (isMobile) { // 定宽
                if (isAndroid) {
                    var medium_dpi = data.width / win.screen.availWidth * window.devicePixelRatio * 160;

                    medium_dpi = medium_dpi.toFixed(2);

                    data['target-densitydpi'] = medium_dpi;
                } else {
                    var scale = win.screen.availWidth / data.width;

                    scale = scale.toFixed(2);

                    data['initial-scale'] = data['maximum-scale'] = data['minimum-scale'] = scale;
                }

                metaEl.content = JSON.stringify(data).replace(/\s*/g, '').replace(/[{}"]/g, '').replace(/:/g, '=');
            }

  在页面上直接设置width为最大宽度,我这里设置了750

<meta name="viewport" content="width=750, user-scalable=no">

 

分享到:
评论

相关推荐

    vue移动端h5页面根据屏幕适配的四种方案.docx

    Vue 移动端 H5 页面屏幕适配四种方案 在移动端 H5 页面开发中,屏幕适配是一个非常重要的方面。不同的屏幕尺寸和设备像素比都需要不同的适配方式。下面我们将介绍四种常见的屏幕适配方案。 方案一:淘宝开源的可...

    PC、移动端自适应等比缩放布局方案

    ### PC、移动端自适应等比缩放布局方案 随着互联网技术的发展与用户需求的变化,前端开发中的布局方式也在不断地演变。从最开始的静态布局到流式布局、自适应布局、响应式布局以及弹性布局,每种布局都有其独特的...

    详解移动端h5页面根据屏幕适配的四种方案

    在移动端H5页面开发中,适配屏幕是一个重要的任务,以确保内容在不同尺寸和分辨率的设备上都能正常显示。以下将详细介绍四种常见的适配方案: ### 方法一:引入淘宝开源的可伸缩布局方案(lib-flexible) 淘宝的可...

    h5移动端的完美适配

    本文将深入探讨如何实现H5移动端的完美适配,主要关注其中的一种解决方案:百分比布局,并结合JavaScript与rem单位进行混合移动开发。 首先,百分比布局是H5移动端适配的基础,它允许元素的尺寸根据父元素的尺寸...

    移动端手机和平板适配解决方案

    在H5移动端开发中,适配方案通常涉及以下几个关键技术点: 1. **响应式设计(Responsive Design)**:响应式设计是确保页面在不同屏幕尺寸上自适应的关键。通过使用CSS3的媒体查询(Media Queries)可以定义不同...

    移动端h5 商品列表 点击加入购物车动画

    在移动端H5应用中,商品列表的交互设计是吸引用户注意力和提升用户体验的关键部分。"移动端h5 商品列表 点击加入购物车动画"这个主题着重于如何在用户点击商品时,通过动态效果使商品飞入页面的购物车区域,以此增加...

    remjs移动端页面满屏H5自适应方案

    本文将深入探讨一个基于rem的移动端页面满屏H5自适应方案,该方案适用于设计稿为750 * 1334或640 * 1334的情况。我们将讨论rem布局的优势、实现原理以及如何应用到实际项目中。 首先,rem(root em)是CSS3引入的一...

    h5 兼容移动端方案

    本文将深入探讨如何通过合理的技术策略实现H5在移动端的完美适配。 首先,我们需要理解`rem`单位在移动适配中的作用。`rem`(root em)是相对于根元素(通常是`html`元素)字体大小的单位。通过调整根元素的`font-...

    超详细讲解H5移动端适配.doc

    在移动互联网时代,H5页面的移动端适配成为前端开发中的关键任务,因为各种移动设备的物理分辨率各异。为了确保H5页面在不同设备上展示一致,我们需要理解一些基本概念和技术。 首先,屏幕尺寸是指屏幕对角线的长度...

    详解H5 活动页之移动端 REM 布局适配方法

    本文将深入探讨移动端REM布局的适配方法,这是H5活动页实现响应式设计的关键技术。 首先,我们需要理解什么是REM(Root EM)。REM是一个相对于根元素(通常是html元素)font-size的长度单位。这意味着,如果我们...

    移动端网页/网页适配

    在移动端网页设计中,网页适配是一个至关重要的概念,它涉及到如何确保网页内容在不同尺寸的设备上,如手机、平板电脑甚至智能手表等,都能呈现出清晰、易读且用户体验良好的效果。随着移动互联网的快速发展,设计师...

    H5移动端适配 Flexible方案

    《H5移动端适配Flexible方案详解》 在移动互联网时代,H5页面的适配问题显得尤为重要,尤其在各种屏幕尺寸、分辨率各异的设备中,如何确保页面在不同设备上呈现一致的效果,这就是Flexible方案的核心所在。本文将...

    H5面试题.pdf

    媒体查询是CSS中的一个模块,允许开发者根据不同的屏幕特性(如屏幕宽度)来设置不同的CSS样式,实现对不同设备的适配。 总之,在前端开发中,要掌握HTML5、CSS3、JavaScript这些核心技术,并且不断学习和适应新的...

    html5移动端拖拽图片、拖拽标签等插件以及相应的demo、适用于手机网址开发和mui前端开发、h5app开发中的图片拖拽等

    HTML5在移动端的应用已经变得越来越广泛,特别是在手机网站和H5应用开发中,它提供了许多增强用户体验的功能。其中,拖放(Drag and Drop)功能是HTML5的一项重要特性,允许用户通过手势操作来移动元素,如图片和...

    一种便捷的移动端屏幕适配解决方案

    在移动端应用开发中,屏幕适配是一个至关重要的环节,它涉及到如何确保应用在不同尺寸、分辨率的设备上都能提供良好的用户体验。"一种便捷的移动端屏幕适配解决方案"着重解决这个问题,尤其是在JavaScript开发环境下...

    一个基于canvas的移动端图片编辑插件

    在移动互联网时代,图片编辑已经成为许多应用程序不可或缺的功能,尤其在移动端H5页面和微信小程序中。基于canvas的图片编辑插件为开发者提供了一种轻量级、高效且灵活的解决方案。Canvas是HTML5的一个重要特性,它...

    使用Flexible实现手淘H5页面的终端适配1

    CSS像素通常基于DIPs,但会根据设备的dpr进行调整。例如,一个2x的设备,1CSS像素等于2物理像素。 设备像素比(dpr)是设备独立像素和物理像素之间的比例,用于描述屏幕的像素密度。JavaScript可以通过`window....

    H5 PhotoSwipe简单例子 vue图片拉伸放大缩放例子

    **标题解析:** "H5 PhotoSwipe简单例子 - vue图片拉伸放大缩放例子" 这个标题表明我们要探讨的是一个使用H5技术,并结合...这个例子对于学习Vue与外部库的集成,以及提升移动端H5页面的用户体验具有很高的参考价值。

    h5 适配手机 -城市选择器

    在开发Web应用时,尤其是针对移动端的H5页面,适配手机是一个至关重要的环节。"h5 适配手机 -城市选择器" 提供了一种兼容性极佳的城市选择组件,能够很好地适应各种手机浏览器。这个组件是通过HTML5、CSS和...

    H205_html手机网站_网页源码移动端前端_H5模板_自适应响应式源码.zip

    此外,触摸事件的处理和手势识别也是移动端特有的考虑因素,如滑动、点击、捏合缩放等,这些都需要在代码中进行适配。 在实际应用中,这些源码可作为基础模板,开发者可以根据需求进行定制,添加特定功能,如表单...

Global site tag (gtag.js) - Google Analytics