2012-04-10 111 views
1

我知道我必须设置wmode属性,但我在哪里设置属性的柔性纸。Flexpaper重叠的HTML元素

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

回答

1

我没有看到通过传递一个参数到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" 
    },{ 
     ... 
    }); 
}; 
0

wmode实际上是您在HTML中为SWF嵌入代码设置的配置参数。要回答更具体你需要证明你是如何嵌入代码,并且将wmode值FlexPaper要求。但是,这里有几种基于常用嵌入方法的方法。

,如果您使用嵌入的SWF动画的HTML样式添加这下到现有的param标签。

<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文档。

+0

请参阅更新后的文章 – SupaOden 2012-04-17 14:12:25

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将拾波将其放在Flash对象上(我正在使用flexpaper 1.5(2012年5月))