无论如何JavaScript都可以截取silverlight元素的截图吗?

时间:2011-04-27 16:18:59

标签: javascript silverlight canvas

基本规则:

  1. 没有闪光
  2. 没有附加组件
  3. 至少
  4. 必须支持IE8

    我想知道Canvas是否可以与JS结合使用,可能是一些巧妙的JS库。

    更新 - 我需要截取该silverlight元素的屏幕截图,而不提供它的来源。 (我的生活故事)在解决完全重现银色元素之前,我想我会试一试。

    更新2 - 如何用另一个.xap包装silverlight的.xap? (就像flash可以在另一个swf中播放一个swf文件)我不确定这是不可能的,是对silverlight的新手。

    更新3 - 由于我不再尝试解决这个问题,我无法尝试使用goodfellas提供的解决方案。我将在大约两周内选出一个票数最高的答案。

3 个答案:

答案 0 :(得分:1)

不,允许截屏可能会导致安全问题,例如如果有人在您查看您的网上银行网站时注入了javascript并截取了屏幕截图。

话虽如此,似乎在silverlight forum上讨论了如何使用SilverLight进行此操作。可能是你想要的。

答案 1 :(得分:1)

是的,这是可能的......

使用下面的代码

 <WebBrowser Grid.Row="1" VerticalAlignment="Top" Source="{Binding VodeoUrl,Mode=OneWay}" Height="280" Width="280"/>

在C#代码中:

例如。 swf文件网址:http://xyz.net/evideos/tanzanite-01/7398a.swf或者您也可以设置本地路径。

VodeoUrl = video [0] .ToString();

答案 2 :(得分:0)

Javascript与浏览器交互的API旨在使这种事情不会发生。这将是一个巨大的安全漏洞。

Canvas是在页面上绘制的元素,它不授予对浏览器绘图系统的访问权限。此外,IE8不支持画布,因此IE8支持不在窗外,特别是如果你不需要插件。

总之,没有。这是不可能的,甚至是不可取的。