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

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

研究发现是跨域问题导致的,网上搜到如下两个解决方案:

方案一:

在远程服务器根目录下新建一个文件名为"crossdomain.xml"的跨域文件。

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

方案二:(参考https://blog.csdn.net/sinat_25926481/article/details/51924412)

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

</script>

var fp = new FlexPaperViewer(
'http://10.231.1.1/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>

原文地址:https://www.cnblogs.com/giser-s/p/9287752.html