flexpaperviewer跨服务器访问swf不显示问题

来源:互联网 发布:电力通信网络组网分析 编辑:程序博客网 时间:2024/06/14 11:25

做在线预览办公文档时,遇到了使用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>

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

结果:一样显示不出来。

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

解决方案:

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

var fp = new FlexPaperViewer( 'http://172.20.28.240:8088/web/YUCITMS/FlexPaperViewer', 'viewerPlaceHolder', { config : { SwfFile : escape('${filePath}'), 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' }});        </script>



2 0
原创粉丝点击