精华内容
下载资源
问答
  • 总结H5常见问题

    2020-09-14 19:34:44
    常见H5问题 1、input 元素中,下列哪个类型属性定义了输入电话号码的控件? A、mob B、tel C、mobile D、telephone 答案:B 具有 type 属性的 input 元素,其值为 “tel”,表示用于输入电话号码的单行纯...

    常见的H5问题

    
    1、input 元素中,下列哪个类型属性定义了输入电话号码的控件?
    
    A、mob
    
    B、tel
    
    C、mobile
    
    D、telephone
    
    答案:B
    

    具有 type 属性的 input 元素,其值为 “tel”,表示用于输入电话号码的单行纯文本编辑控件

     2、哪个元素表示用于生成公钥-私钥对的控件?
    
    A、ins
    
    B、keygen
    
    C、key
    
    D、command
    
    答案:B
    

    标签规定用于表单的密钥对生成器字段。当提交表单时,私钥存储在本地,公钥发送到服务器。

     3、哪个元素表示标记或突出显示的文本以供参考?
    
    A、highlight
    
    B、mark
    
    C、strong
    
    D、blink
    
    答案:B
    

    突出显元素指定文本的重要性,mark 元素表示标记或高亮显示以供参考的文档中的文本。

     4、哪个元素表示导航部分?
    
    A、navigation
    
    B、anchor tag
    
    C、nav
    
    D、option
    
    答案:C
    
    5SVG 定义的图形是_____格式的?
    
    AHTML
    
    BXML
    
    CXHTML
    
    DDTD
    
    答案:B
    

    SVG 是基于 XML 的矢量图像格式

     6、关于 article 元素,下列哪个选项是不正确的?
    
    A、文本或嵌入内容
    
    B、开始和结束标记都是必需的
    
    C、可以用来提供作者信息
    
    D、contentteditable 属性不能与 article 元素一起使用
    
    答案:D
    
    标签定义外部的内容,contenteditable 属性规定是否可编辑元素的内容
    7、哪个属性将连续播放嵌入到 audio 元素中的音频?
    
    A、preload
    
    B、control
    
    C、loop
    
    D、autoplay
    
    答案:C
    

    loop 属性规定当音频结束后将重新开始播放

     8、下列哪个浏览器可能不支持以下代码来创建矩形:
    
    复制代码
    <!DOCTYPE html>
    <html>
    <body>
    <canvas id="myCanvas" width="350" height="200" style="border:1px solid red;">
    Your browser does not support the HTML5 canvas tag.
    </canvas>
    </body>
    </html>
    复制代码
    A、Firefox (Gecko) 1.5 (1.8)
    
    B、Firefox (Gecko) 1.5 (1.8)
    
    C、Internet Explorer 7.0
    
    D、Opera 9.0
    
    答案:C
    
     9、下面哪个元素被称为媒体元素的子元素?
    
    A<area>
    
    B<img>
    
    C<map>
    
    D<track>
    
    答案:D
    
    标签为媒体元素(比如 and )规定外部文本轨道。这个元素用于规定字幕文件或其他包含文本的文件,当媒体播放时,这些文件是可见的。
     10、哪个元素定义了 <object> 元素的参数?
    
    A<noembed>
    
    B<param>
    
    C<source>
    
    D<embed>
    
    答案:B
    

    param 元素允许您为插入 XHTML 文档的对象规定 run-time 设置,也就是说,此标签可为包含它的 标签提供参数。

    展开全文
  • h5类型游戏有很多种,每种模式都适用不同的一些活动场景,蜀乐互动根据平台上效果使用最好的一些活动类型进行了归纳。以下几种h5互动游戏都是比较受欢迎的。1、躲避障碍物类。这种类型的游戏变化比较大,所以除了...

    h5类型游戏有很多种,每种模式都适用不同的一些活动场景,蜀乐互动根据平台上效果使用最好的一些活动类型进行了归纳。以下几种h5互动游戏都是比较受欢迎的。

    1、躲避障碍物类。这种类型的游戏变化比较大,所以除了精心策划的过程模式之外,还可以增强游戏画面,让用户在玩游戏的时候不断向前冲。

    2、快速点击类。快速点击游戏通常针对玩家的点击速度考验,这在一定程度上很有趣。如果你达到一定的点击次数,你将得到奖励,这将使玩家感到更加满足。

    dad8ff0ba50b3b20d6b7a903ebc892ce.png

    3、拼图游戏。从经典游戏中吸取经验是一种快速有效的方法,用品牌形象玩来组成拼图的各种元素。

    4、答题游戏。微信答题这不仅是一个经典游戏,而且它还拥有永不厌倦的魔力。虽然有许多答题类型的游戏,但企业在h5中使用微信答题游戏仍然相当普遍。用户可以通过完成每个答题项获得相关分数,然后用户可以通过使用这些分数获得相关奖励。

    883be098e124af31d2c86ad233bb610d.png

    5、测试记忆类。这款游戏通过点击翻牌,然后记住它的位置,再翻过来时确定图片原来的位置。这种对品牌推广非常有效,随着用户记忆的加深,品牌会在用户心中留下更深的印象。

    这些h5类型游戏都是在微信营销活动中比较受欢迎的也是效果比较好的几种,如果需要制作和使用这些类型的微信小游戏的话可以随时随地注册登录蜀乐互动h5后台完成制作。

    展开全文
  • 移动端H5相关问题汇总 自适应问题 iOS 滑动不流畅 iOS 上拉边界下拉出现白色空白 页面件放大或缩小不确定性行为 click 点击穿透与延迟 软键盘弹出将页面顶起来、收起未回落问题 iPhone X 底部栏适配问题 H5 调试...

    移动端H5相关问题汇总

    • 自适应问题
    • iOS 滑动不流畅
    • iOS 上拉边界下拉出现白色空白
    • 页面件放大或缩小不确定性行为
    • click 点击穿透与延迟
    • 软键盘弹出将页面顶起来、收起未回落问题
    • iPhone X 底部栏适配问题
    • H5 调试相关方案与策略
    • H5 调用 SDK 相关问题及解决方案

    移动端 H5 相关基础技术概览

    在这里插入图片描述

    1、自适应问题

    对于开发h5来说肯定要考虑到自适应问题,目前来说大多数的解决方法都是将px转化为rem,当然也可以使用vh,vw单位,但是个人觉得使用rem是最好的解决方案。

    1. 使用postcss-pxtorem
      postcss-pxtorem是PostCSS的插件,用于将像素单元生成rem单位。

    1.安装依赖

    npm install postcss-pxtorem -D
    

    2.设置规则(更改postcss.config.js,该文件为使用vue-cli3自动创建的文件)

    module.exports = {
      plugins: {
        'autoprefixer': {
          browsers: ['Android >= 4.0', 'iOS >= 7']
        },
        'postcss-pxtorem': {
          rootValue: 16,//结果为:设计稿元素尺寸/16,比如元素宽320px,最终页面会换算成 20rem
          propList: ['*']
        }
      }
    }
    
    1. 设置最顶层父级font-size,所有单位使用rem
     * 基于iphone375宽度的基准做制作,把body的font-size按比例设置成约等于10px
     * 设置字体大小用单位em  1em=10px,1.4em=14px....以此类推
     * @type {string}
     */
    // document.getElementsByTagName("body")[0].style.fontSize = document.body.clientWidth / 37.5 + 'px';
    
    if (document.documentElement.clientWidth > 640) {
        document.documentElement.style.fontSize =
            640 / 3.75 / 2 + 'px'
    } else {
        document.documentElement.style.fontSize =
            document.documentElement.clientWidth / 3.75 / 2 + 'px'
    }
    
    2、iOS 滑动不流畅

    问题描述:上下滑动页面会产生卡顿,手指离开页面,页面立即停止运动。整体表现就是滑动不流畅,没有滑动惯性。
    原因:原来在 iOS 5.0 以及之后的版本,滑动有定义有两个值 auto 和 touch,默认值为 auto。

    -webkit-overflow-scrolling: touch; /* 当手指从触摸屏上移开,会保持一段时间的滚动 */
    
    -webkit-overflow-scrolling: auto; /* 当手指从触摸屏上移开,滚动会立即停止 */
    

    解决方法:

    .wrapper {
        -webkit-overflow-scrolling: touch;
    }
    body {
        overflow-y: hidden;
    }
    .wrapper {
        overflow-y: auto;
    }
    // 设置滚动条隐藏: .container ::-webkit-scrollbar {display: none;}
    
    3、iOS 上拉边界下拉出现白色空白

    问题描述: 手指按住屏幕下拉,屏幕顶部会多出一块白色区域。手指按住屏幕上拉,底部多出一块白色区域。

    原因: 在 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。这个事件触发的对象是整个 webview 容器,容器自然会被拖动,剩下的部分会成空白。
    解决方案: 监听事件禁止滑动

    1. touchstart :手指放在一个DOM元素上。
    2. touchmove :手指拖曳一个DOM元素。
    3. touchend :手指从一个DOM元素上移开。
    
    document.body.addEventListener('touchmove', function(e) {
        if(e._isScroller) return;
        // 阻止默认事件
        e.preventDefault();
    }, {
        passive: false
    });
    
    4、click 点击事件延时与穿透

    问题描述: 监听元素 click 事件,点击元素触发时间延迟约 300ms。
    点击蒙层,蒙层消失后,下层元素点击触发。

    产生原因: iOS 中的 safari,为了实现双击缩放操作,在单击 300ms 之后,如果未进行第二次点击,则执行 click 单击操作。也就是说来判断用户行为是否为双击产生的。但是,在 App 中,无论是否需要双击缩放这种行为,click 单击都会产生 300ms 延迟。

    解决方案:
    1、使用 touchstart 替换 click

    移动设备不仅支持点击,还支持几个触摸事件。那么我们现在基本思路就是用 touch 事件代替click 事件。
    将 click 替换成 touchstart 不仅解决了 click 事件都延时问题,还解决了穿透问题。因为穿透问题是在 touch 和 click 混用时产生。

    // 原生方法
    el.addEventListener("touchstart", () => { console.log("ok"); }, false);
    
    // vue方法
    <button @touchstart="handleTouchstart()">点击</button>
    

    2、使用 fastclick 库

    // fastclick 库可以使click 延时和穿透问题都没了,但是需要安装依赖
    // fastclick源码 核心代码不长, 1000 行不到。有兴趣可以了解一下!
    
    import FastClick from 'fastclick';
    
    FastClick.attach(document.body, options);
    
    
    5、软键盘将页面顶起来、收起未回落问题

    问题描述: Android 手机中,点击 input 框时,键盘弹出,将页面顶起来,导致页面样式错乱。
    移开焦点时,键盘收起,键盘区域空白,未回落。

    产生原因: 我们在app 布局中会有个固定的底部。安卓一些版本中,输入弹窗出来,会将解压 absolute 和 fixed 定位的元素。导致可视区域变小,布局错乱。

    解决方法: 其实就是通过监听页面高度变化,强制恢复成弹出前的高度。

    // 记录原有的视口高度
    const originalHeight = document.body.clientHeight || document.documentElement.clientHeight;
    
    window.onresize = function(){
      var resizeHeight = document.documentElement.clientHeight || document.body.clientHeight;
      if(resizeHeight < originalHeight ){
        // 恢复内容区域高度
        // const container = document.getElementById("container")
        // 例如 container.style.height = originalHeight;
      }
    }
    

    键盘不能回落问题出现在 iOS 12+ 和 wechat 6.7.4+ 中,而在微信 H5 开发中是比较常见的 Bug。
    兼容原理,1.判断版本类型 2.更改滚动的可视区域

    const isWechat = window.navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i);
    if (!isWechat) return;
    const wechatVersion = wechatInfo[1];
    const version = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
     
     // 如果设备类型为iOS 12+ 和wechat 6.7.4+,恢复成原来的视口
    if (+wechatVersion.replace(/\./g, '') >= 674 && +version[1] >= 12) {
      window.scrollTo(0, Math.max(document.body.clientHeight, document.documentElement.clientHeight));
    }
    
    // window.scrollTo(x-coord, y-coord),其中window.scrollTo(0, clientHeight)恢复成原来的视口
    
    6、iPhone X系列安全区域适配问题

    问题描述: 头部刘海两侧区域或者底部区域,出现刘海遮挡文字,或者呈现黑底或白底空白区域。

    产生原因: iPhone X 以及它以上的系列,都采用刘海屏设计和全面屏手势。头部、底部、侧边都需要做特殊处理。才能适配 iPhone X 的特殊情况。

    解决方法:
    1、设置安全区域,填充危险区域,危险区域不做操作和内容展示。
    设置 viewport-fit 为 cover

    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, viewport-fit=cover">
    
    7、页面生成为图片和二维码问题

    生成二维码
    使用 QRCode 生成二维码

    // 在vue中实现
    <template>
    <div id="qrcode"
         ref="qrcode"
         class="scan">
    </div>
    </template>
    
    import QRCode from 'qrcodejs2';
    
    mounted () {
        // setTimeout(() => {
        //   this.toImage()
        // }, 3000);
        this.$nextTick(() => {
          this.qrcode();
        });
      },
    // 生成二维码
        qrcode () {
          let qrcode = new QRCode('qrcode', {
            width: 188, // 二维码宽度,单位像素
            height: 192, // 二维码高度,单位像素
            text: this.resp.url // 生成二维码的链接
          });
        },
    

    生成图片
    生成图片的在之前的博客上有,大家可以翻一翻

    8、微信公众号分享问题

    问题描述: 在微信公众号 H5 开发中,页面内部点击分享按钮调用 SDK,方法不生效。

    解决方法: 添加一层蒙层,做分享引导。

    9、H5 调用 SDK 相关解决方案

    产生原因: 在 Hybrid App 中使用 H5 是最常见的不过了,刚接触的,肯定会很生疏模糊。不知道 H5 和 Hybrid 是怎么交互的。怎样同时支持 iOS 和 Android 呢?现在来谈谈 Hybrid 技术要点,原生与 H5 的通信。

    解决方案: 使用 DSBridge 同时支持 iOS 与 Android

    SDK小组 提供方法:
    1、注册方法 bridge.register

    bridge.register('enterApp', function() {
      broadcast.emit('ENTER_APP')
    })
    

    2、回调方法 bridge.call

    export const getSDKVersion = () => bridge.call('BLT.getSDKVersion')
    

    3、事件监听与触发法

    const broadcast = {
      on: function(name, fn, pluralable) {
        this._on(name, fn, pluralable, false)
      },
      once: function(name, fn, pluralable) {
        this._on(name, fn, pluralable, true)
      },
      _on: function(name, fn, pluralable, once) {
        let eventData = broadcast.data
        let fnObj = { fn: fn, once: once }
        if (pluralable && Object.prototype.hasOwnProperty.call(eventData, 'name')) {
          eventData[name].push(fnObj)
        } else {
          eventData[name] = [fnObj]
        }
        return this
      },
      emit: function(name, data, thisArg) {
        let fn, fnList, i, len
        thisArg = thisArg || null
        fnList = broadcast.data[name] || []
        for (i = 0, len = fnList.length; i < len; i++) {
          fn = fnList[i].fn
          fn.apply(thisArg, [data, name])
          if (fnList[i].once) {
            fnList.splice(i, 1)
            i--
            len--
          }
        }
        return this
      },
      data: {}
    }
    export default broadcast
    

    踩坑注意
    方法调用前,一定要判断 SDK 是否提供该方法 如果 Android 提供该方法,iOS 上调用就会出现一个方法调用失败等弹窗。怎么解决呢?

    提供一个判断是否 Android、iOS。根据设备进行判断

    export const hasNativeMethod = (name) =>
      return bridge.hasNativeMethod('BYJ.' + name)
    }
    
    export const getSDKVersion = function() {
      if (hasNativeMethod('getSDKVersion')) {
        bridge.call('BYJ.getSDKVersion')
      }
    }
    
    展开全文
  • 随着H5技术的发展,H5的玩法也在增加,其中用户参与性最高的是交互型H5了,宣传效果也比较好。而且交互型H5游戏有多种交互形式。商家可以根据自己的品牌属性选择。带大家了解一下交互H5都有哪些玩法: 1、点击屏幕...

    随着H5技术的发展,H5的玩法也在增加,其中用户参与性最高的是交互型H5了,宣传效果也比较好。而且交互型H5游戏有多种交互形式。商家可以根据自己的品牌属性选择。带大家了解一下交互H5都有哪些玩法:
    1、点击屏幕交互
    点击是最常用的手势,经常用于页面切换。点击引导可以作为注释,用户可以理解H5内容,使用户能够按照H5的节奏操作。例如,在《带上希望的种子去北京》中,用户可以点击手势“检查”行李箱,详细查看H5设计的内容。
    2、连续点击交互
    连击交互在游戏类中的应用比较多。在游戏类H5中,通常由连续点击生成的数值关联积分排名,具有竞技性质的H5可以进一步吸引用户参与。例如,《漫威电影十周年》的“揍”灭霸小游戏,用户继续点击屏幕,10秒内的点击次数就会计算出整个网络排名。
    3、长按交互
    长按是用户根据H5引导长时间触摸页面。长按交互用户需要保持手指静止状态,并在设计时提示H5播放进度参考,以避免乏味。例如,从腾讯公益的《敦煌未来博物馆》设计的风化过程来看,用户点击手机即可看到壁画随着年份推移逐渐风化的场景,还可以唤醒用户心中的文化保护意识。
    4、滑动交互
    拖拽交互必须在长按交互的基础上滑动,从一个点拖动到另一个点可以让用户自行控制速度。适合图片展示类的H5。例如,在《睡姿大比拼》中,用户可以拖动角色肢体来创建各种有趣的睡眠姿势。
    5、重力交互
    重力交互是一个非常直观的表达形式,用户可以轻松get到H5获得乐趣,这意味着手机硬件能升级给H5设计带来了更多的可能性。利用重力感应、陀螺仪、速度加速器等硬件,对H5的玩法进行创新,提高用户的代入感。例如,安装在《一“陆”狂飙,极速挑战》上的赛车游戏是通过手机重力传感来调整小车的方向。
    6、全景交互
    全景交互在屏幕中以360度展现所有场景,用户可以通过滑动移动场景。这种H5格式(如VR)需要关注整个场景的设计,边界连接要足够顺畅,全景加载内容较大,一定要注意用户等待和屏幕卡顿的问题。例如,华为出品的《我的荣耀5G世界》中全景互动展示了未来丰富多彩的5G世界。
    以上几种就是现目前比较常见的H5交互形式了,企业商家可以根据自己的需求来选择。

    展开全文
  • H5新特性(常见

    2017-11-01 11:54:00
    H5新特性 语义化标签section:可以认为div是section元素,一个普通的分块元素,可用来定义网站中的特定的可区别的区域;header:包括标题,logo,导航和其他页眉的内容,可以在网站上加多个header,就像给内容加多个...
  • 作为一个开发了多个 H5 项目的前端工程师,在开发过程中难免会遇到一些兼容性等爬过坑的问题。现在我将这些问题一一汇总一下,并在后面给出坑产生的原理,和现阶段常规的填坑方案。由此来做一个阶段性的总结。 问题...
  • H5常见英语单词总结

    2016-07-12 20:09:00
    tring 字符串 boolean 布尔数学体系,1,0 node 节点,结 log 日志,记录 console 控制台 alert 警报 document 文档 write 写 read 读 object 物体,目标,对象 ...type 类型 parse 解析 ...
  • H5常见问题及解决方案手册

    千次阅读 2021-05-25 00:51:15
    作者/成都之声 阅读本文需要5分钟前言作为一个开发了多个 H5 项目的前端工程师,在开发过程中难免会遇到一些兼容性等爬过坑的问题。现在我将这些问题一一汇总一下,并在后...
  • 移动端H5常见问题以及解决方案 问题 下面列举了我遇到的一些常规问题,如有遇到其他问题的请在评论区补充,之后我也会实践加以补充,感谢! 以下解决方案,均经过我测试成功,健康安全,请放下食用.由于篇幅问题,某些非...
  • h5

    2018-12-13 16:57:43
    常见问题 我要提意见 Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作。通过plus.webview可获取应用界面管理对象。 方法: all : 获取所有Webview窗口 close : 关闭Webview窗口 create :...
  • HTML常用选择器 css选择器的优先级 css常见样式
  • 微信H5支付

    万次阅读 多人点赞 2017-08-23 16:35:37
    微信H5支付
  • 2、下列哪种 HTML 视频媒体类型在 IE 中不受支持 ? A、WebM B、MP4 C、Ogg D、MP4 FLAC 答案:C
  • 微信公众号 H5 分享问题 H5 调用 SDK 相关问题及解决方案 H5 调试相关方案与策略 一. iOS 滑动不流畅 表现: 上下滑动页面会产生卡顿,手指离开页面,页面立即停止运动。整体表现就是滑动不流畅,没有滑动惯性。 1...
  • 微信公众号 H5 分享问题 H5 调用 SDK 相关问题及解决方案 H5 调试相关方案与策略 六:iPhone X系列安全区域适配问题 现象:头部刘海两侧区域或者底部区域,出现刘海遮挡文字,或者呈现黑底或白底空白区域。 原因:...
  • APP内嵌H5开发常见问题及解决方案

    千次阅读 2020-03-11 15:38:29
    作为一个开发了多个 H5 项目的前端工程师,在开发过程中难免会遇到一些兼容性等爬过坑的问题。现在我将这些问题一一汇总一下,并在后面给出坑产生的原理,和现阶段常规的填坑方案。由此来做一个阶段性的总结。 ...
  • 本文主要介绍的是在深度学习中一些常见文件的读取方法。 为了防止自己遗忘,所以记录一下,后期也会不断补充。 一、txt文件的读写 二、json文件的读写 三、h5文件的读写 1)首先介绍一下h5文件 2)读取代码实现 ...
  • h5标签

    2017-03-12 08:20:22
    下面是一个常见H5的模板 这个头文件是文档声明类型,他有两个作用: 1;告诉浏览器当前页面使用的语法标准 2;浏览器按照声明的标准去渲染你的页面 html> html lang="en"> head> meta charset="UTF-8">描述...
  • H5常见面试题及答案(一)

    千次阅读 2020-02-10 15:43:53
    15.常见兼容性问题及解决方案? 1.清除图片下方出现几像素的空白间隙 img{display:block;} img{vertical-align:top;} 2.不同浏览器的标签默认的外边距和内边距不同 *{margin:0;padding:0} 16.用js写个原生...
  • CC攻击是H5游戏常见的攻击类型,而H5游戏遭受CC攻击的时候,H5游戏访问就会变慢或者无法访问, 那么CC攻击是如何攻击H5游戏的呢?CC攻击主要攻击的是页面, H5游戏运营者都知道H5游戏访问量特别大的时候网站访问也会...
  • html中常见标签的分类和标签之间的转换
  • 前言在看这篇文章之前你要确保你有那么一点点的js知识,没错只需要一点点,能看懂最简单的代码就可以。如果你之前没接触过js的话。。也没关系,我会把其中对应的逻辑用语言表达出来。为什么需要用到js呢,因为前端...
  • H5样式与布局 -- 常见页面布局

    千次阅读 2018-06-08 11:06:00
    常见的单列布局有两种:  1. header、content、footer宽度都相同,其一般不会占满浏览器的最宽宽度,但当浏览器宽度缩小低于其最大宽度时,宽度会自适应。 <div class="layout"> <div id="header"&...
  • HTML5 input常见新增类型及属性

    千次阅读 2018-03-17 10:44:40
    1. url类型、email、tel类型 说明:当输入非url、email的字符串时,浏览器会自动提醒。 &lt;form action="/example/html5/demo_form.asp"&gt; &lt;input type="url"&gt; ...
  • 几种常见的hybrid通信方式 说起hybrid大家不会陌生,主要意思就是native和h5混合开发。为什么要这样做呢?大家可以想象一下针对于同一个活动,如果使用纯native的开发方式,Android和iOS两边都要维护同一套界面...
  • 从引爆朋友圈的H5小游戏《围住神经猫》,到颠覆传统广告的大众点评H5...为活动推广运营而打造的H5页面是最常见类型,形式多变,包括游戏、邀请函、贺卡、测试题等形式。与以往简单的静态广告图片传播不同,如今的H5
  • SQL教程——常见的约束类型

    千次阅读 2020-12-01 01:21:56
    常见的约束类型 一、创建表时添加约束 1.添加列级约束 2.添加表级约束 二、删除表时删除约束 1.删除非空约束 2.删除默认约束 3.删除主键 4.删除唯一 5.删除外键 三、表示列 常见的约束类型 含义:一种...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,344
精华内容 6,537
关键字:

常见的h5类型