我知道我必须设置wmode
属性,但我在哪里设置灵活卷纸中的属性。
以下是将Flexpaper嵌入HTML文档的代码。
<script type="text/javascript">
var doc = '<?php print $doc; ?>';
var numPages = <?php echo getTotalPages($pdfFilePath . $doc) ?>;
var swfFileUrl = escape('{services/view.php?doc='+doc+'&page=[*,0],'+numPages+'}');
var searchServiceUrl = escape('services/containstext.php?doc='+doc+'&page=[page]&searchterm=[searchterm]');
var fp = new FlexPaperViewer(
'FlexPaperViewer',
'viewerPlaceHolder', { config : {
SwfFile : swfFileUrl,
Scale : 1,
ZoomTransition : 'easeOut',
ZoomTime : 0.5,
ZoomInterval : 0.2,
FitPageOnLoad : false,
FitWidthOnLoad : false,
FullScreenAsMaxWindow : false,
ProgressiveLoading : false,
MinZoomSize : 0.2,
MaxZoomSize : 5,
SearchMatchAll : true,
SearchServiceUrl : searchServiceUrl,
InitViewMode : 'Portrait',
BitmapBasedRendering : false,
ViewModeToolsVisible : true,
ZoomToolsVisible : true,
NavToolsVisible : true,
CursorToolsVisible : true,
SearchToolsVisible : true,
localeChain: 'en_US'
}});
</script>
答案 0 :(得分:1)
我没有看到通过将param传递给FlexPaperViewer构造函数来实现此目的的方法,但您可以在flexpaper_flash.js中解决它。在第19行附近并尝试在那里添加wmode
param:
window.FlexPaperViewer = window.$f = function() {
var config = arguments[2].config;
window.FlexPaperViewer_Instance = flashembed(arguments[1], {
//add wmode here
wmode: "transparent",
src: arguments[0]+".swf",
version: [10, 0],
expressInstall: "js/expressinstall.swf"
},{
...
});
};
答案 1 :(得分:1)
更好的想法是将以下内容添加到您的flexpaper配置中:
像这样:
var fp = new FlexPaperViewer(
'<%:FlexPaperViewer %>',
'documentViewer', { config: {
SwfFile: '<%:SwfFile%>.swf',
IMGFiles: '<%:SwfFile%>_{page}.png',
JSONFile: '/GetJson.ashx?q=<%=SwfFile%>.json',
...lots of other irrelevant params...
WMode : 'transparent',
localeChain: 'en_US'
}
});
Flexpaper将获取WMode并将其设置在Flash对象上(我使用的是flexpaper 1.5(2012年5月))
答案 2 :(得分:0)
wmode实际上是您在HTML中使用SWF嵌入代码设置的配置参数。要更具体地回答,您需要展示如何嵌入代码以及FlexPaper所需的wmode值。但是,这里有几种方法可以根据常用的嵌入方法进行设置。
如果您使用的是嵌入SWF电影的HTML样式,请在现有的参数标签旁边添加此内容。
<param name="wmode" value="transparent">
或者,如果您使用SWFObject嵌入SWF,则可以像这样设置wmode:
var flashvars = {},
params = {wmode:"transparent"},
attributes = {};
swfobject.embedSWF("/swf/yourSWF.swf", "anim", "300", "200", "9.0.0", "/swf/expressInstall.swf", flashvars, params, attributes);
有关详细信息,请参阅wmode parameter上的Adobe文档。