做在线预览办公文档时,遇到了使用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. 简述47种Shader Map的渲染原理与制作方法

    https://mp.weixin.qq.com/s/6EVpmgC53HqklIVkIpEssg

  2. HTML5代码大全

    一.HTML各种命令的代码: 1.文本标签(命令)  <pre></pre>         创建预格式化文本 <h1></h1>         创建 ...

  3. Qt中的串口编程

    串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口.串行接口(Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要 ...

  4. 【论文写作】Vancouver style

    参考文献引用风格之 Vancouver style 需要在引用出使用阿拉伯数字(1,2,3...)标注参考文献序号. 示例: Deep Learning [1]. Reference [1] LeCu ...

  5. Django 知识点总结

    知识点总结 一.URL: 1.在python 正则表达式中,正则表达式命名组的语法是(?P<name>pattern),其中命名组中的命名就是name,并且pattern 是某些匹配的模式 ...

  6. python实现图片转PDF

    import os from PIL import Image from reportlab.pdfgen import canvas def image_resize(img, width, hei ...

  7. el-pagination分页-自定义左右箭头样式

    1,官方样式: 查了网上,有人说可以用slot插槽,但是试过之后,因为 不能插入多个 slot(没法定义名字做区分),所以导致左右按钮一样了.. 2,还有种方法: 利用 prev-text  和  n ...

  8. Unity 使用JIMO 做MR扫图(Vuforia) 优化

    最近在做一个用MR眼镜端扫描图片做定位用, 使用的Vuforia提供的图片识别功能. 在眼镜端因为摄像机很挫,导致扫描出来的图片 位置存在着一定的偏差.就做了个小优化. 1.扫图的角度设定,垂直于图片 ...

  9. Asp.Net Core中dotnet 命令行语法

    查看dotnet是否安装成功 dotnet -v dotnet-ef 不存在需要先安装(默认安装最新的版本) dotnet tool install -g dotnet-ef dotnet-ef 不存 ...

  10. 网络时间同步系统(NTP授时服务器)在电信网络的技术性应用研究

    网络时间同步系统(NTP授时服务器)在电信网络的技术性应用研究 网络时间同步系统(NTP授时服务器)在电信网络的技术性应用研究 岳峰 15901092122 --------------------- ...