1

我知道我必须设置wmode属性,但是我在哪里设置 flex 纸中的属性。

以下是将 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>
4

3 回答 3

1

我看不到通过将参数传递给 FlexPaperViewer 构造函数来做到这一点的方法,但您可以在 flexpaper_flash.js 中解决它。在第 19 行附近并尝试在wmode那里添加参数:

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"
    },{
        ...
    });
};
于 2012-04-18T21:11:43.623 回答
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 月))

于 2012-05-22T14:12:47.207 回答
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 参数的 Adob​​e 文档。

于 2012-04-17T04:35:02.207 回答