做在线预览办公文档时,遇到了使用flexpaper访问文件服务器swf不显示问题。

假想1:

swf文件有问题?

实验1:

直接访问swf文件在文件服务器的地址,浏览器可以正常访问,但是放在flexpaper插件中就无法显示。

实验2:

官网自带swf文件地址,可以显示。

实验3:

把文件服务器上的swf文件copy至本地,结果可以显示。

结论:文件没有问题。

假想2:不能访问外部服务器的文件?

上网查资料,说是跨域问题解决方案如下:

在远程服务器根目录下新建一个文件名为"crossdomain.xml"的文件,这是关于跨域策略文件

文件内容:
<?xml version="1.0"?>
<!-- http://www.aeroflash.org/crossdomain.xml -->
<cross-domain-policy>
   <allow-access-from domain="*" />
</cross-domain-policy>

淘宝的:http://www.taobao.com/crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
<allow-access-from domain="*.taobao.com" />
<allow-access-from domain="*.taobao.net" />
<allow-access-from domain="*.taobaocdn.com" />
<allow-access-from domain="*.allyes.com" />
</cross-domain-policy>

这样服务器上的文件就可以被任何域名来解析了,跨域策略文件可以根据自己的网络环境来设置,但是有些时候返回的内容特别慢,我在本机上测试花了四十秒左右的样子。

结果:一样显示不出来。

然后就一直查资料,终于在某个论坛看到了解决方案,还是网友给力啊

解决方案: 把flexpaper插件的FlexPaperViewer.swf文件放置在文件服务器可以访问的地方,然后在页面上引用外部服务器的这个文件

var file = "https://c4i-file001.citicsf.com:8001/Uploads/TempFolder/201711/10/3454d0b2-1115-483b-87e0-9458002cff62.swf";
var fp = new FlexPaperViewer(
'https://c4i-file001.citicsf.com:8001/FlexPaper/FlexPaperViewer',
'viewerPlaceHolder',
{
config :
{
SwfFile : escape(file),
Scale : 0.6,
ZoomTransition : 'easeOut',
ZoomTime : 0.5,
ZoomInterval : 0.2,
FitPageOnLoad : true,
FitWidthOnLoad : false,
PrintEnabled : true,
FullScreenAsMaxWindow : false,
ProgressiveLoading : true,
MinZoomSize : 0.2,
MaxZoomSize : 5,
SearchMatchAll : false,
InitViewMode : 'Portrait', ViewModeToolsVisible : true,
ZoomToolsVisible : true,
NavToolsVisible : true,
CursorToolsVisible : true,
SearchToolsVisible : true, localeChain: 'zh_CN'
}
});

参考资源:

http://blog.csdn.net/yu452148611/article/details/46424381

http://blog.csdn.net/sinat_25926481/article/details/51924412

PDFViewer案例 链接: https://pan.baidu.com/s/1boEIdHX 密码: wncq

FlexPaperViewer跨服务器\跨域访问swf不显示问题的更多相关文章

  1. flexpaper跨服务器访问swf不显示问题

    在项目中使用flexpaper.html在线预览时,发现文件存放在本地localhost能访问,在服务器上的无法访问,通常报错“loadswf() is not defined” 研究发现是跨域问题导 ...

  2. Tomcat服务器启动后访问localhost:8080显示404的原因

    原因:在eclipse中关联了Tomcat服务器 重点来了,如果你是在eclipse中点击启动按钮启动的Tomcat 那么Tomcat不会默认部署它自己的测试项目(也就是大猫localhost:808 ...

  3. .NET 6 跨服务器联表查询

    一.大家是否有这个需求 1.跨品种查询 :比如 MYSQL和一个SQLSERVER进行联表查询 ,或者SQLITE和MYSQL进行联表查询 2.跨服务器查询 : A服务器和B服务器查询 如果想同时支持 ...

  4. Nginx作为web静态资源服务器——跨域访问

    跨站访问 ​ 为什么浏览器禁止跨域访问 ​ Nginx跨站访问 Syntax:add_header name value [always]; Default:—— Context:http,serve ...

  5. flash跨域访问

    -------------------------------------------------------背景------------------------------------------- ...

  6. Javascript 跨域访问解决方案 总结

    在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义.同 源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问 ...

  7. 解决cookie跨域访问

    一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...

  8. 基于Cesium1.26地图API下的GeoServer2.9.0服务器跨域设置

    遇到的问题: 最近基于Cesium来做3D模型的地图开发,在访问自己发布的WMS服务之后,遇到了GeoServer跨域问题. 调用这个WMS服务的时候,浏览器(我用Chrome)开发者工具报错: 控制 ...

  9. cookie 跨域访问的解决方案

    Cookie 同域单点登录  最近在做一个单点登录的系统整合项目,之前我们使用控件实现单点登录(以后可以介绍一下).但现在为了满足客户需求,在不使用控件情况下实现单点登录,先来介绍一下单点登录.    ...

  10. System.Web.Http.Cors配置跨域访问的两种方式

    System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心 ...

随机推荐

  1. ES深分页

    一.背景 1.ES默认分页from+size 2.在大数据量和深度分页的时候,效率非常低 二.效率低原因 1.例如要查第501页的10条数据,from为5000,size为10 2.ES会查询并排序5 ...

  2. kali 更新到最新版(测试中...)

    # 确认源 (下面用阿里云的源举例) echo "deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib ...

  3. 扩linux 主分区 xfs 格式的

    在centos8 上 扩主分区 # 扩系统盘,第一个分区 growpart /dev/vda 1 #后面加挂接点 一般是 / xfs_growfs  / # 查看 df -h

  4. MSSQL Always Encrypted 加密

    载自:https://zhuanlan.zhihu.com/p/63674006 文档资源:https://docs.microsoft.com/zh-CN/sql/relational-databa ...

  5. encodeURI和encodeURIComponent

    encodeURI和encodeURIComponent的作用对象都是URL,唯一的区别就是编码的字符范围: encodeURI不会对ascii字母.数字.~!@#$&*()=:/,;?+' ...

  6. chrome浏览器通知与语音播放

    HTML5 Web Notification 语法 https://developer.mozilla.org/zh-CN/docs/Web/API/notification 如果浏览器支持Web N ...

  7. Ngrinder 制作脚本-(二)

    接上一篇文章:了解了Ngrinder的介绍和工作原理之后,相信大家都想着怎么使用这款工具进行性能测试 一.Ngrinder-Controller 的安装 环境要求: (1)jdk1.8以上 (2)Ja ...

  8. 2020ICPC上海I - Sky Garden

    思维 [I-Sky Garden_第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)(重现赛)@hzy0227 (nowcoder.com)](https://codeforces.co ...

  9. PLM数据库脚本升级命令

    登录mysql:mysql -uroot  -S /mysqlrun/plmtestmysql/run/plmtestmysql.sock --port=10050  -p 导出数据库脚本:mysql ...

  10. vue remark重置 提交

    html: <el-table-column prop="remark" label="">                 <templat ...