H5屏幕适配,数据请求

市场APP原生与h5混合开发的项目越来越多,对于一个iOS开发者而言,掌握一定的前端开发常识还是有必要的,咱们今天就来说说,H5怎么做各种移动端手机适配,然后又怎么向服务器发起数据请求的。

一、H5屏幕适配

首先你得创建一个js文件,姑且命名为mobile.js。
然后编辑内容:

function resize(){

  //UI设计师图的尺寸宽度
  var dw=750;
  //屏幕宽度
  var cw=document.documentElement.clientWidth;
  console.log("当前屏幕宽度"+cw);
  //一个rem=100px,不同的屏幕会根据屏幕的比例系数来变化
  var rem=cw/dw*100;
  //最小屏幕设置,安卓最小屏幕宽度240px
  if(rem<=32){
      rem=32;
  }
  document.documentElement.style.fontSize=rem+"px";
}
resize();
window.onresize = function(){
  resize();
}

然后在需要适配的HTML中用<script></script>标签引入即可。单位不再用px,统一用rem即可。同时HTML的head标签里还得添加几句代码:

<meta name="viewport" content="initial-scale=1,maximum-scale=1, minimum-scale=1 user-scalable=no">
<meta name="format-detection" content="telephone=no">
<meta name="apple-mobile-web-app-capable" content="yes" >
<script src="js/mobile.js"></script>

二、JQuery+ajax网络数据请求。

在编写代码之前,先给大家说几个注意事项,一般前端的数据请求都是利用JQuery,因为JQuery是对js的封装框架,数据请求也不用像js那样写那么多代码,所以一般需要下载一个JQuery文件。下载地址:http://www.jq22.com/jquery-info122,可以任选一个版本。

  • 先引入JQuery文件,然后在script标签里写以下代码。
 $.ajax({
    //指定请求类型
    type:"get",
    //请求地址
    url:"这儿填写你们服务器的URL",
    //服务器返回值类型
    dataType: 'json',
    //传给服务器的参数
    data: {
        page:1,
        type:0
    },
    //成功回调
    success:function(data){
        console.log(data);
    }
});
  • 还有一个注意点:大多数情况下,我们都希望能够利用浏览器调试服务器给我们的接口,我们在本地浏览器请求,这个时候,会遇到一个跨域的问题。


    2319256-57ba8dd19ffebf4b.png

那怎么解决呢?请参考:https://www.jianshu.com/p/2db73311fcbe

三、数据请求的封装,以及js的外部调用

  • 一般情况下,我们经常会想把很多公共的类放在一个配置文件里,就像iOS中的prefix文件,那么在js中怎么做呢?
    新建一个js文件。编辑以下代码:

    //引入网络数据请求js文件
    document.write("<script language='javascript' src='NetTool/htpp-request.js'></script>");
    //记得引入文件目录时,要记得包含文件夹
    document.write("<script language='javascript' src='JQuery/jquery-3.1.1.min.js'></script>");
    
  • 因为js是一门弱语言,所以只要你在同一个HTML中引入了不同的几个js文件,那么这几个js文件的方法就可以互相调用,这一点不像iOS,在某个类调用外部类时,必须导入头文件,js是在onload之前就已经把你在HTML中导入的js文件都编译了一遍,同时因为它是弱语言,执行顺序由上而下,所以引用顺序最好按照顺序来,比如你要用到jQuery,和一个本地HTML,那么假如你要在HTML中用jQuery,引用顺序最好在jQuery之后。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,534评论 1 32
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,659评论 0 7
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,694评论 0 3
  • 1.今天在看《稀缺》这本书时,看到一句话:“紧迫的时间要求会令人头脑集中,迫使我们将之前积累的努力浓缩成即时产出的...
    紫苏小姐的心迹阅读 578评论 1 0
  • 四季随机播放,盛夏悄然到访。 校园里的碎花裙,小白鞋,破洞牛仔衣,使空气里都荡漾着一股清新夏意。偶尔,路过零零散散...
    你好啊鹿阅读 415评论 1 2

友情链接更多精彩内容