基于HTML5的iPad电子杂志横竖屏自适应方案

(转载自:http://www.yeeach.com/?p=1172)

  基于HTML5来制作iPad电子杂志,横屏及竖屏自适应是个大问题,查找了半天资料,没有一篇像样的文章可供参考。将思路及例子分享一下。例子并不严谨和规范,仅供参考。

大致思路:

1、对横屏(portrait)和竖屏(landscape)情况下的页面定义两个不同的HTML5页面文件及图片

2、使用iframe来包含横屏(portrait)和竖屏(landscape)时候实际要包含的页面内容,注意此处没有指定iframe的src属性

<iframe id=”iframe1″ name=”iframe1″ frameborder=”0″ scrolling=”no” />

3、使用jQuery Mobile来横屏(portrait)和竖屏(landscape)情况来动态改变iframe的src属性,指向横屏

<script type=”text/javascript”>
functionorient() {if (window.orientation == 0 || window.orientation == 180) {$(“body”).attr(“class”, “portrait”);orientation=‘portrait’;$(“#iframe1″).attr(“src”,”portrait.html”);$(“#iframe1″).attr(“width”,”768″);$(“#iframe1″).attr(“height”,”1024″);return false;}else if (window.orientation == 90 || window.orientation == -90) {$(“body”).attr(“class”, “landscape”);orientation=‘landscape’;$(“#iframe1″).attr(“width”,”1024″);$(“#iframe1″).attr(“height”,”768″);$(“#iframe1″).attr(“src”,”landscape.html”);return false;}
}

4、采用meta 的viewport属性来控制iPad或iphone的屏幕属性。

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

此处 user-scalable=no,minimum-scale=1.0, maximum-scale=1.0值,此种情况下图片能够很好自动适配横屏、竖屏,但缺点是图片不能够手动进行缩放

因此在实际应用中最好采用采用

<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>

5、采用3的方案后,由于iOS的bug,图片不能按照正常比例显示,采用一个javascript补丁解决此问题

iOS-Orientationchange-Fix

一些可供参考的资料:

http://stackoverflow.com/questions/2557801/how-do-i-reset-the-scale-zoom-of-a-web-app-on-an-orientation-change-on-the-iphon

http://web.peterhartree.co.uk/2012/jquery-mobile-orientationchange-supplement/

http://www.blog.highub.com/mobile-2/a-fix-for-iphone-viewport-scale-bug/

http://davidbcalhoun.com/2010/dealing-with-device-orientation

备注:

1、可以使用css针对横屏或竖屏指定不同的CSS文件,这在以文字为主的页面文件中可以直接通过指定横屏和竖屏时候的css文件来实现横竖屏切换。

由于目前电子杂志以图片为主,因此采用iframe来包含横竖屏文件,因此此种方案目前无用。

<link rel=”stylesheet” media=”all and (orientation:portrait)” href=”portrait.css”>

<link rel=”stylesheet” media=”all and (orientation:landscape)” href=”landscape.css”>

2、可以测试一下

jquery.mobile-1.1.0.min.js脚本必须放在jquery-1.6.4.min.js脚本前,否则会在页面显示Loading

<script type=”text/javascript” src=”jquery.mobile-1.1.0.min.js”></script>

<script type=”text/javascript” src=”jquery-1.6.4.min.js”></script>

例子下载请点击此处

转载于:https://www.cnblogs.com/JoannaQ/archive/2012/08/22/2650133.html

基于HTML5的iPad电子杂志横竖屏自适应方案相关推荐

  1. iOS 横竖屏处理方案

    概要:这里只说项目如何配置横竖屏,具体横竖屏适配可以参考下文图解---横屏的VC--最后一个方法里适配横竖屏,用 AutoLayout 的话就不用处理了,注意横屏后刘海屏的左右边距,我习惯一般直接给个 ...

  2. uniapp 移动端 两种横竖屏切换方案

    全局配置横竖屏 1.在pages.json中添加配置: "globalStyle": {"pageOrientation": "auto"} ...

  3. 大屏自适应方案之scale

    大屏自适应之前有用过postcss-pxtorem之类的插件,但是插件只针对css样式,在js和vue模板中的样式,还有echarts的属性值都不能经过插件直接转换.要手动分装方法再次调用,就会比较麻 ...

  4. css 网页自适应方案 大屏自适应方案

    自适应需要解决的问题 屏幕像素大小不同,统一表现 画面比例不同,统一表现 浏览器字体最小限制,不可能无限等比缩小 自适应不成功的表现: 4. 画面出现拉伸压缩 5. 文字内容显示异常 6. 画面出现空 ...

  5. 如何实现ios屏幕的横竖屏自适应

    首先在UIViewController的 -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interface ...

  6. ipad横竖屏切换解决方案

    2011年08月01日 星期一 10:09 由于ipad的横竖屏不同,所以好的应用,横竖屏的页面布局也不一样.那么就需要横竖屏的整体解决方案.先看一个横竖屏布局不一样的界面. 上面两张图是来自同一个界 ...

  7. ios 纯代码怎么适配ipad_iPad横竖屏下的代码适配

    你可能非常了解用不同的方式去适配不同尺寸的iPhone屏幕,在适配iPhone屏幕时你需要考虑的只是屏幕大小变化带来的UI元素间隔的变化,但是在iPad上主要针对的是横竖屏下完全不同的UI元素的布局, ...

  8. 基于HTML5+JavaScript实现的网页录屏器设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/85773105 资源下载地址:https://download.csdn.net/downl ...

  9. 修正Android基于ZXing的二维码扫描——横竖屏自由切换

    概述: 此博客是基于开源的框架ZXing.ZXing用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口.ZXing可以实现使用手机的内置的摄像头完成条形码的扫描及解码.该 ...

最新文章

  1. 万万没想到,坤坤洗白的第一步是周琦…
  2. 定时任务调度系统设计
  3. amd显卡显存测试程序_AMD发布Radeon 6000系列显卡:能耗比大提升
  4. HTTP请求头中各字段解释
  5. UIAlertView UIActionSheet随笔笔记
  6. 解析URI与URL之间的区别与联系
  7. sqlserver 批量处理数据
  8. highcharts php 动态数据,php动态传数据到highcharts的方法
  9. angular中利用zone避归没必要的开销提高程序的性能demo
  10. cfree——好用的c语言编辑器(附注册码)
  11. c语言 桌面下雪程序,用C++写的在桌面上飘雪的特效程序
  12. js读取文件的内置方法之 FileReader
  13. 遥感原理与应用_专家报告 | 叶绿素荧光卫星遥感—原理与应用
  14. m6A甲基化及预测方法工具总结
  15. 有趣的设计模式——两脚插头也能使用三孔插板
  16. Linux服务器监控性能测试
  17. 如何入门Python之Python基础教程详解
  18. Python OpenCV _1基本操作(画图,循环播放图像,鼠标事件,读取中文路径中的图片)
  19. python中pandas什么意思_python pandas 基础理解
  20. 索尼最小最轻全画幅微单Alpha 7C面世

热门文章

  1. Java并发(二)——ThreadLocal
  2. 【六】Jmeter:断言
  3. sift计算描述子代码详解_浅谈SIFT特征描述子
  4. vb.ne textbox数字保存excel_Excel 另类保护:锁死页面布局、保存、审阅标签右键等菜单禁编辑...
  5. 服务器虚拟化的意思,服务器虚拟化存储的好处以及作用
  6. crt查看oracle安装目录,ORACLE 11g数据库安装步骤
  7. mysql新浪微盘_Android62期视频教程全集下载
  8. 计算机硬件技术基础 统计字符串strl中字符'a'的个数,汕头大学工学院830计算机基础综合历年考研真题202p.doc...
  9. 禁止复制php,wordpress禁止复制内容的实现方法
  10. columns列:Rows 工作表上所有的行