项目背景

针对用Sencha touch 1.1开发的一个用于通过ipad浏览的网站(其实是对PC端一个网站的映射)中的一个模块的开发,这个模块的主要功能就是用户浏览各种‘报告’,这些被阅览的‘报告’,其实是各种形式的文档,有word,ppt,xls, csv,pdf等,当然还包括一些视频文件

需求描述

用户登录网站,然后浏览所有报告的列表,如果想看其中某一个就点击打开查看,当用户点击其中一个文件名时,就在浏览器中打开一个新的标签加载(其实就是当用户点击的时候去下载被点击的文档)文档内容

开发过程

其实是没有什么难度的开发,但是却没想到在开发过程中遇到了不小的麻烦,在ipad上的safari中以上需求都能够满足,可没想到将这个网站通过safari 的“at home Screen"(就是添加快捷方式到桌面)时,通过快捷方式进入网站后点击文档列表中的每一项都不能跳转到safari中去打开文档了,先解释一下,通过快捷方式打开网站,此时就像打开的一个app应用,没有地址栏,也就是完全看不出是在浏览器一样,这点和在pc上浏览网站时按F11全屏一样,
因为刚接触ipad 实在不知道怎么办,于是上网查,终于找到了解决方法,所有报告的列表页,每一个报告名字就是一个a标签,当点击报告名字时,会从数据库下载文档到服务器,然后将文档路径赋值给a标签的href属性,结果在浏览器中打开一个新标签,文档打开,就是这么简单,问题就出在最后a标签没有跳转,解决办法就是再给a标签href属性赋值后,要按如下写才可以跳转走:

var e = document.createEvent('MouseEvent');
e.initEvent('click', false, false);
setTimeout(a.dispatchEvent(e), 2000);

当时处理这个问题时ios的版本是6,苹果还没有出iso7,这样的解决方案在iso7一下是可行的,但到了iso7就不行了,又没效果了,网上也没有找到解决方法,自己想吧。
终于天不负有心人,撞到墙了,果断改变思路,以前是点击文档名时去下载文档然后打开文档,现在不如先跳转,实验证明如果a标签这样写

<a href="http://www.cnblogs.com/" target="_blank" />

是没有问题的,可以正常工作,那么我不如不管用户点击哪一个文档,都先在浏览器中打开一个空白页(当然也不是完全空白,有一个加载图标,显示正在加载文档),然后在空白页中下载文档,获得文档路径后用

location.replace(文档路径);

就行了,
这样做,不管什么系统版本的ipad都可以正常打开报告了。

问题解决(一)在ipad上通过safari浏览文档的更多相关文章

  1. JAVA:借用OpenOffice将上传的Word文档转换成Html格式

    为什么会想起来将上传的word文档转换成html格式呢?设想,如果一个系统需要发布在页面的文章都是来自word文档,一般会执行下面的流程:使用word打开文档,Ctrl+A,进入发布文章页面,Ctrl ...

  2. 配置允许匿名用户登录访问vsftpd服务,进行文档的上传下载、文档的新建删除等操作

    centos7环境下 临时关闭防火墙 #systemctl stop firewalld 临时关闭selinux #setenforce 0 安装ftp服务 #yum install vsftpd - ...

  3. pdfFactory如何设置限制打印和浏览文档权限

    当我们进行私密文件的分享时,除了要设置密码保护文件内容外,还要注意设置打印限制,防止他人利用打印的方式,进行纸质文件的传播. 在使用pdfFactory安全策略时,我们可以通过设定禁止打印的方式,完全 ...

  4. 五分钟轻松搞定产品需求文档!这可能史上最全PRD文档模板

    本文由  @JustWu 原创发布于社区 为什么写这篇文章? 第一:写PMCAFF的PRD文档,大家都是用户,比较好参考与理解,方便大家来找我写的不好的地方. 第二:我在自学PRD文档的编写过程中,总 ...

  5. .net core webapi 文件上传在 Swagger 文档中的有好提示处理

    前提: 需要nuget   Swashbuckle.AspNetCore 我暂时用的是  4.01 最新版本: 描述:解决 .net core webapi 上传文件使用的是 IFormFile,在S ...

  6. C#实现上传/下载Excel文档

    要求 环境信息:WIN2008SERVER  开发工具:VS2015 开发语言:C# 要求: 1.点击同步数据后接口获取数据展示页面同时过滤无效数据并写入数据库,数据可导出Excel并支持分类导出 2 ...

  7. 如何在mac上創建txt文档

    文件編輯(Mac下的記事本),shift + command + T 進入純文字編輯模式!

  8. SPFile上传文件到文档库

    , dataLen);            SPSite sps = SPControl.GetContextSite(Context);            sps.AllowUnsafeUpd ...

  9. SharePoint2013 上传文件到文档库

    SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(SPContext.Current. ...

随机推荐

  1. Java String类的常用方法

    String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. String(Sting original) ...

  2. Jenkins控制台中文输出乱码解决方法

    1. 设置jenkins所在服务器环境变量,右键我的电脑→属性→高级系统设置→环境变量,添加JAVA_TOOL_OPTIONS 2.修改Tomcat配置,进入apache_tomcat/conf文件夹 ...

  3. java代码获知该方法被哪个类、哪个方法、在哪一行调用

    public class TestMain { public static void main(String[] args){ hello(); } public static void hello( ...

  4. HTML DOM domain 属性

    定义和用法 domain 属性可返回下载当前文档的服务器域名. 语法 document.domain 说明 该属性是一个只读的字符串,包含了载入当前文档的 web 服务器的主机名. 提示和注释 提示: ...

  5. Javascript 利用a标签自动解析URL分析网址实例

    /* * @function: 通过a标签解析url标签 * @param:url url参数是字符串,解析的目标 通过IE6-9 chrome Firefox测试 * */ function par ...

  6. ACM 找球号(一)

    找球号(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<= ...

  7. BZOJ3456: 城市规划

    Description 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了. 刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或 ...

  8. HDU-3549 最大流模板题

    1.HDU-3549   Flow Problem 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549 3.总结:模板题,参考了 http://ww ...

  9. URL编码:不同的操作系统、不同的浏览器、不同的网页字符集,将导致完全不同的编码结果。

    URL编码:不同的操作系统.不同的浏览器.不同的网页字符集,将导致完全不同的编码结果. 因此如果Url中有中文或特殊字符,一定要自己调用函数编码解码,不要让浏览器帮你编码,否则出现了问题会浪费你很多时 ...

  10. Java语言基础

    Java 语言是面向对象的程序设计语言,Java 程序的基本组成单元是类,类体中又包括属性与方法两部分.每一个应用程序都必须包含一个main()方法,含有main()方法的类成为主类. 一.Java ...