Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ASP.Net,是否有一种编程方式来获取浏览器内容的屏幕截图?_Asp.net_Screenshot - Fatal编程技术网

使用ASP.Net,是否有一种编程方式来获取浏览器内容的屏幕截图?

使用ASP.Net,是否有一种编程方式来获取浏览器内容的屏幕截图?,asp.net,screenshot,Asp.net,Screenshot,我有一个ASP.Net应用程序,根据需要的功能,用户希望能够采取截图。虽然我知道这是可以模拟的,但如果有办法获取URL(或当前呈现的页面),并将其转换为可以存储在服务器上的图像,那就太好了 这疯了吗?有办法吗?如果是这样的话,任何引用?都有XML-RPC接口和可用的源代码(Python)。我现在可以告诉您,在浏览器内部无法执行此操作,也不应该有。假设您的页面将GMail嵌入iframe中。然后你就可以偷一张此人GMail收件箱的截图 通过让浏览器“屏蔽”所有违反跨域限制的iFrame和嵌入,可以

我有一个ASP.Net应用程序,根据需要的功能,用户希望能够采取截图。虽然我知道这是可以模拟的,但如果有办法获取URL(或当前呈现的页面),并将其转换为可以存储在服务器上的图像,那就太好了


这疯了吗?有办法吗?如果是这样的话,任何引用?

都有XML-RPC接口和可用的源代码(Python)。

我现在可以告诉您,在浏览器内部无法执行此操作,也不应该有。假设您的页面将GMail嵌入iframe中。然后你就可以偷一张此人GMail收件箱的截图

通过让浏览器“屏蔽”所有违反跨域限制的iFrame和嵌入,可以确保安全

您当然可以编写一个扩展来实现这一点,但要注意上面概述的安全注意事项

更新:您可以使用canvas实用程序功能获取与代码相同来源的页面的屏幕截图。甚至还有一个lib允许您执行此操作:


您可以在此处找到其他可能的答案:

您可以尝试Internet Explorer之类的浏览器插件,它允许您将当前站点的屏幕截图保存到磁盘上的文件中。我相信FireFox也有类似的插件。

我使用了免费的程序集UrlScreenshot.dll,您可以下载。

很好用


也有,但不是免费的。

如果你想做你描述的事情。您需要调用一个外部进程,按照所述打印IE输出。

为什么不采取另一种方法

如果您需要用户可以重新查看相同的内容,那么听起来这是应用程序的业务需求,因此您应该将其构建到应用程序中

构造URL,以便当同一用户(假设您有会话,并且应用程序向不同的用户显示不同的内容)访问同一URL时,他们总是看到相同的内容。然后,他们可以在本地为URL添加书签,或者您甚至可以使用应用程序功能将其保存在用户配置文件中

这部分意味着要创建“干净的URL”,例如site.com/view/whatever-information-needed-here

如果您使用的是基于时间的数据,数据会随着时间的推移而变化,那么可能有几种方法

  • 如果您的数据没有定期更改,那么您可以始终使用“当前”页面,例如site.com/view/2008-10-20(根据需要添加小时/分钟/秒)
  • 如果正在刷新和/或更定期地更新,请将“当前”页面设置为site.com/view。。但允许指定之后的确切时间。在这种情况下,您必须有一个“linktothispage”类型的函数,它将链接到带有完整日期/时间的永久URL。从谷歌地图中寻找灵感——如果你在地图上滚动,你总是可以点击“链接到这里”,它将提供一个包含GPS坐标、地图上的对象等的链接。在这种情况下,它不是一个非常友好的url,但它确实工作得很好。:)
好的,像Snag-It这样的浏览器的Windows附加模块怎么样?它可以捕获图片,保存或发布到网站上?这有可能吗?你可以看看Firefox的诱拐扩展作为灵感。我不认为你们会发现任何现成的东西,更不用说跨平台了。这不是疯狂,这是邪恶和阴险的。我不想让你知道我在浏览什么!我认为你应该接受phyzome的答案,并创建另一个更具体的问题(你的浏览器目标等),去掉ASP.NET标记。我建议删除ASP.NET引用。我认为真正的问题是是否有任何东西可以满足你的需求。如果你发现了一些有用的东西,你可以将它嵌入到你使用的任何框架中。