移动端ios系统onload事件失效_复习之移动端app介绍

322a122f821a229e4ac06a7803300c5d.png

Native App (原生app)

需要下载安装,大型游戏使用,特点是分系统的。

>语言:Object C (IOS), Java (Android)

优势:性能好,速度快,能访问手机上的本地资源。

劣势:需要两个版本,开发成本、维护成本高,上线流程麻烦、周期长。

>页面存放在本地。

Web App

>移动站(移动网站)

>语言:HTML

>受限制于UIwebview,页面存放于服务器。

优势:开发成本低,更新快,跨平台。

劣势:用户体验相对差一点,不能使用本地资源,不能使用手机系统的功能。

Hybrid App (混合app)


>语言:Object C(IOS) + HTML

>受限制于UIwebview

同时具有Native App 和 Web App的优点。(半原生半web app)。

优势:可以跨平台,大多数新闻、电商型的app使用。

劣势:跟原生的app相比还是有一点差别,苹果商店对这种app的审核会越来越严格。

》前端移动端开发的就是能手写一个(web app)移动端的网站。

移动端样式重置

  • webkit-user-select:none; 禁止用户选中文字,安卓无效(在事件那章解决,包括长按的时候会出现菜单,用阻止touchstart后的默认行为搞定)
  • webkit-touch-callout:none; 禁止长按弹出系统菜单
  • webkit-text-size-adjust:100%; 切换横竖屏或者用户自己通过浏览器设置的话,可以改变字体的大小(需要给body下的所有元素)
  • webkit-tap-highlight-color:rgba(0, 0, 0, 0); 去除android下 a/button/input 标签被点击时产生的边框 & 去除ios下 a标签被点击时产生的半透明灰色背景
  • webkit-appearance:none; 按钮在ios下都是圆角 (button与input都会有个默认背景)
  • border-radius:0; input有个默认圆角
        <style>
        *{
            margin: 0;
            padding: 0;
        }

        body{
            -webkit-user-select:none;
            -webkit-touch-callout:none;
            -webkit-text-size-adjust:100%;
        }

        a,button,input{
            -webkit-tap-highlight-color:rgba(0, 0, 0, 0); 
        }

        button, input{
            -webkit-appearance:none;
            border-radius: 0;
        }

        input::-webkit-input-placeholder{
            color: #000; 
            /* 默认的样式 */
        }

        input:focus::-webkit-input-placeholder{
            color: red;
            /* 点击后的样式 */
        }
    </style>

    <p>理事会和解决</p>
    <a href="#">wwwwww</a>
    <button>aaa</button>
    <input type="text" placeholder="ddddddddd">
  • 修改placeholder 的样式:
        input::-webkit-input-placeholder{
            color: #000; 
            /* 默认的样式 */
        }

        input:focus::-webkit-input-placeholder{
            color: red;
            /* 点击后的样式 */
        }
  • 字体:

ios:默认中文字体是Heiti SC; 默认英文字体是Helvetica; 默认数字字体是HelveticaNeue; 无微软雅黑字体。

android:默认中文字体是Droidsansfallback; 默认英文字体是Droid Sans; 无微软雅黑字体。

一般设置为:font-family:helvetica;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
移动端iOS系统onload事件失效的问题可能是由于移动端浏览器的机制不同于桌面浏览器,导致onload事件无法触发。此外,iOS系统的Safari浏览器还存在一些特殊的问题,如页面缓存、用户手势等问题,也可能导致onload事件失效。 解决这个问题的方法有多种,以下是一些常见的解决方法: 1. 使用window.onload事件代替onload事件移动端iOS系统中,window.onload事件可以替代onload事件,可以使用以下代码: ``` window.onload = function() { // Your code here }; ``` 2. 使用DOMContentLoaded事件 DOMContentLoaded事件会在DOM树结构构建完成后触发,不受页面资源加载的影响。可以使用以下代码: ``` document.addEventListener('DOMContentLoaded', function() { // Your code here }, false); ``` 3. 使用$(document).ready()事件 如果您使用jQuery库,可以使用$(document).ready()事件来代替onload事件。可以使用以下代码: ``` $(document).ready(function() { // Your code here }); ``` 4. 禁用页面缓存 iOS系统的Safari浏览器会将页面缓存下来,如果您的页面有缓存,onload事件可能不会触发。可以在HTML头部添加以下标签来禁用页面缓存: ``` <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Expires" content="0"> ``` 5. 禁用用户手势 在iOS系统的Safari浏览器中,用户手势会触发页面刷新,导致onload事件失效。可以使用以下代码禁用用户手势: ``` document.addEventListener('touchmove', function(event) { event.preventDefault(); }, false); ``` 希望这些方法可以帮助您解决移动端iOS系统onload事件失效的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值