【问题标题】:Capturing image of currently active tab in Internet Explorer and passing it to Flex application在 Internet Explorer 中捕获当前活动选项卡的图像并将其传递给 Flex 应用程序
【发布时间】: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


【解决方案1】:

【讨论】:

  • 我已经调查了您建议的解决方案,HTML2Canvas 并不完全捕获屏幕截图,而是对容器中的 html 内容进行排序并检索该容器的位图数据。它可能看起来像同一件事,但不幸的是它不是。很多时候,网站的呈现方式与向用户显示时的方式不同,我需要以 100% 的准确度捕捉用户所看到的内容。
  • stackoverflow.com/questions/60455/… HTA?... 不能完全使用Clipboard,因为它会生成位图,因为位图格式仅适用于 AIR 应用程序,但它可能会帮助您以某种方式将它与 Active X 配对。不过,我不认识自己,抱歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 2019-08-11
相关资源
最近更新 更多