【发布时间】:2015-12-07 13:31:03
【问题描述】:
我正在编写在浏览器中运行的 Flex (ActionScript 3.0) 应用程序。
其中一个要求是能够截取当前显示的内容,但不限于 SWF 对象的区域,而是整个活动选项卡。
在 Chrome 中,我通过编写扩展程序解决了这个问题。首先,我使用 ExternalInterface 类从 Flex 应用程序内部发出请求,然后在扩展程序本身中,我与后台脚本通信并使用 chrome.tabs.captureVisibleTab() 截取屏幕截图,它会自动转换为我可以传回的字符串格式SWF 对象中的回调函数。
在 Firefox 中,我使用了类似的方法 - 使用 JavaScript 与 Flex 应用程序来回对话的浏览器扩展允许我获取屏幕截图。
在 Internet Explorer 中,我一开始就卡住了。我不完全知道如何处理这个问题。我已阅读有关 ActiveX 控件和 BHO 的信息:
但由于我是 Microsoft 技术的初学者,我真的可以在选择解决问题的最佳方法方面寻求帮助。
简而言之,我的问题是:如何将 IE 中当前活动选项卡的屏幕截图传递给 Flex 应用程序?
【问题讨论】:
-
BHO 将是要走的路
-
如果您在网站上安装了 php,那么您也可以考虑 imagegrabwindow。他们的示例代码专门用于 Windows 上的 Internet Explorer。如果您还 echo 结果图像,那么在 Flash 端,您只需使用通常的图像加载代码(例如:到 php url 而不是一些 jpg url)。
标签: javascript actionscript-3 internet-explorer apache-flex screenshot