zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    邪恶改装2:用单片机实现一次简单的wifi密码欺骗
    TPYBoard自制微信远程智能温湿度计
    什么是私有网络
    DCHP是什么意思
    ipconfig 命令有什么作用
    什么是网关及网关作用
    什么叫路由
    kvm libvirt 虚拟机管理
    通过python-libvirt管理KVM虚拟机 源码
    通过python-libvirt管理KVM虚拟机 代码实现
  • 原文地址:https://www.cnblogs.com/dianli_jingjing/p/8005625.html
Copyright © 2011-2022 走看看