FlexPaperViewer跨服务器\跨域访问swf不显示问题
做在线预览办公文档时,遇到了使用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不显示问题的更多相关文章
- flexpaper跨服务器访问swf不显示问题
在项目中使用flexpaper.html在线预览时,发现文件存放在本地localhost能访问,在服务器上的无法访问,通常报错“loadswf() is not defined” 研究发现是跨域问题导 ...
- Tomcat服务器启动后访问localhost:8080显示404的原因
原因:在eclipse中关联了Tomcat服务器 重点来了,如果你是在eclipse中点击启动按钮启动的Tomcat 那么Tomcat不会默认部署它自己的测试项目(也就是大猫localhost:808 ...
- .NET 6 跨服务器联表查询
一.大家是否有这个需求 1.跨品种查询 :比如 MYSQL和一个SQLSERVER进行联表查询 ,或者SQLITE和MYSQL进行联表查询 2.跨服务器查询 : A服务器和B服务器查询 如果想同时支持 ...
- Nginx作为web静态资源服务器——跨域访问
跨站访问 为什么浏览器禁止跨域访问 Nginx跨站访问 Syntax:add_header name value [always]; Default:—— Context:http,serve ...
- flash跨域访问
-------------------------------------------------------背景------------------------------------------- ...
- Javascript 跨域访问解决方案 总结
在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义.同 源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问 ...
- 解决cookie跨域访问
一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...
- 基于Cesium1.26地图API下的GeoServer2.9.0服务器跨域设置
遇到的问题: 最近基于Cesium来做3D模型的地图开发,在访问自己发布的WMS服务之后,遇到了GeoServer跨域问题. 调用这个WMS服务的时候,浏览器(我用Chrome)开发者工具报错: 控制 ...
- cookie 跨域访问的解决方案
Cookie 同域单点登录 最近在做一个单点登录的系统整合项目,之前我们使用控件实现单点登录(以后可以介绍一下).但现在为了满足客户需求,在不使用控件情况下实现单点登录,先来介绍一下单点登录. ...
- System.Web.Http.Cors配置跨域访问的两种方式
System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心 ...
随机推荐
- Docker学习笔记-02 常用命令
1.启动类: 启动docker: systemctl start docker 停止docker: systemctl stop docker 重启docker: systemctl restart ...
- android 打包任务在gradle中
//打包任务task makexxxxxxJar(type: Jar) { //指定生成的jar名 baseName xxxxxx //从哪里打包class文件 from('build/interme ...
- 富文本编辑器转word
https://blog.csdn.net/qq_41532872/article/details/108644773
- 看K线学炒股(8.5)
郑煤机,这只票之前我亏损拿着,昨日理性分析是要打开上涨空间了,毕竟下半年要挖煤,挖煤要煤机,业绩预期就不会差.好了,亏损票,昨日大涨,清了一些,今日大涨八个点清仓.既然分析是打开上涨空间了,那就应该是 ...
- Oracle.DataAccess使用问题汇总
1.使用参数化传参 先看一段sql select TABLE_COLUMN_NAME from CSV_PARA_MAPPING where TABLE_NAME = ':v_tabName' and ...
- Rest-Assured发送POST请求:创建Hello-imook
package heyuan.RestAssuredDemo;import static org.junit.jupiter.api.Assertions.*;import org.junit.jup ...
- 【性能监控】nmon和pyNmonAnalyzer的搭建和使用
1,安装nmon 二进制安装:暂时空着,没有FQ,访问不了nmon的官网. 下载对应操作系统的文件,直接运行: 下载地址:https://pan.baidu.com/s/1gTBh10-ark5gbe ...
- Android 将函数放到主线程运行
有时候,app会检测加密函数是否在主线程运行,为了逃避这种检测,要将函数放到主线程运行 Class<?> aClass = RposedHelpers.findClass("co ...
- svn批量忽略文件夹和批量忽略某种类型文件方法
批量忽略文件夹: 最简单的方法:不勾选这个 1.在svn管理的根目录下点击右键---> TortoiseSVN --> properties 2.点击new-->other 3.在p ...
- Linux基础第十章:系统安全及应用
目录 一.账户安全措施 1.账户管理 2.锁定配置文件 3.清除历史记录 二.sudo 1.sudo概念及优点 2.使用sudo 3.sudo实操演示 4.设置sudo别名 5.sudo特别注意 一. ...