在Firefox和Chrome浏览器中打印Flash内容存在一个众所周知的问题。因此,一个solution是由“AnyCharts”创建的。但它似乎无法工作。我也试图实现{{3现在托管和谷歌Code.I完全按照手册规定,但它仍然不起作用.AnyChart的家伙在他们的博客页面上说,应该用CSS做一些事情,但正如你从手册中看到的那样在the latest version of the component主页上,没有提及CSS设置。
我的代码是这样的:
在HTML中,我连接了随Flash_Print-Fix提供的JavaScript类:
<script type="text/javascript" src="lib/FlashPrintFix.js"></script>
在Flex App中,我将此行放在图表系列的FlexEvent.UPDATE_COMPLETE处理程序中:
private function onLineComplete(e:Event):void{
FlashPrintFix.initializeApp();
}
它不起作用.Print Preview仍为空。
任何人都有如何解决此问题的详细设置说明? 感谢。
更新: 经过深入研究后,我发现了问题。事实是,在Flex FlashPrintFix实用程序中,以下行是关键问题:
ExternalInterface.call("FlashPrintFix.setImg", ExternalInterface.objectID, _base64encoder.toString());
必须设置ExternalInterface.objectID参数,否则实用程序的JS端将找不到Flash对象。有些人,仍然不明白为什么,如果我使用可用的JQuery插件之一嵌入Flash,则ExternalInterface.objectID是所以解决方法是在实用程序的JS类中硬键入Flash Object id: 在FlashPrintFix.js中:
FlashPrintFix.setImg = function(objId, imgData) {
var obj = document.getElementById(yourFlashObjectID");
...
.....
答案 0 :(得分:2)
发布更多代码以提供帮助。
该链接中的代码示例对我来说很好。预览就像应用程序一样。 它创建了Image并将其放在flash内容下面的html中,如
检查你离开的地方。
1)使用调试器检查它是否被初始化。
2)如果你得到下面的图像,那么它将显示预览。