jQuery模拟豆瓣电影移动端

项目预览链接

之前使用jQuery的时候模拟过一个豆瓣电影移动端的页面,前两天翻到发现已经忘记差不多了,重新梳理了一遍,做一下过程中的问题及注意点的总结。

demo

分析项目结构

其实结构很简单,三个tab按钮对应三个不同页面的展示,功能简单所以也不需要做分页处理,简单地切换display即可完成。

页面展示

页面展示的重点就在于每个电影项目信息的统一样式展示,我在这里采用创建template,请求获取数据后加以替换后来予以解决。

下滑加载更多

Top250页面的数据较多,为了用户体验对数据获取进行了优化,默认只获取前10条数据,当页面滑到最下时触发判定加载数据:

isToBottom: function($viewport, $content) {
        //判断页面自身高度加上滚动距离是否达到容器高度,预留30像素预加载并放置loading动画
        return $viewport.height() + $viewport.scrollTop() + 30 > $content.height() 
      }

项目难点

豆瓣在现在已经关闭了开发者平台并不再提供API供开发使用,但是测试时发现以前的API请求依然可以使用,但若干次请求后会出现403 Forbidden,于是查看network请求信息:
image.png

试着直接在地址栏输入Request URL,可以获取到图片,于是分析是不是跨域的问题,虽然使用了Ajax jsonp来获取数据,但是会不会在服务器端进行了设置,判断访问来源来拒绝访问。

解决方案: 设置<meta name='referrer' content='never'>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,077评论 1 45
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,804评论 1 32
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,221评论 4 61
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 13,275评论 1 52
  • 任何艺术作品都可以分为内容之美和形式至美,如果照片可以达到内容上、或形式上的美,也能拍出好看的照片。 如何拍出形式...
    野蔷薇与紫鸢尾阅读 5,037评论 0 1