浏览器上的web控件所需的打印屏幕功能
Printscreen function desired from web control on browser
全部,
我有一个要求,让我们网页的用户能够下载我们在森林火灾模拟dot-net.aspx网页上放置的必应地图的jpeg图像。该页面目前显示了一个Bing地图和多达96个形状的多个层,可能需要20秒才能完全加载。如果有帮助的话,我可以把所有这些形状都放在一层上——但我不确定会不会,我想我会先问这里。
显然,任何"复杂"的客户端操作(如ALT打印屏幕、从网页打印、mwsnap3或其他第三方解决方案)都是不够的,所以我被告知要在页面上实现一个按钮,当按下按钮时,该按钮将下载(或提供)jpeg图像文档/图像。
我从一个很棒的线程开始,将网页转换为ASP.NET中的图像。这非常接近我想要的,但页面会在浏览器上呈现。就绪状态!=WebBrowserReadyState。完成转换,在我的形状加载到Bing画布上之前启动。我试图在DocumentTitleChanged事件上呈现页面(然后在我的shaped完成加载后尝试更改标题),但这也不起作用。
我试图用javascript强制使用"打印屏幕"字符(请参阅是否可以通过编程模拟按键事件?),但这被转换为逗号(十进制44),无法按预期工作。
我也看到HTLM5对此有一些支持(http://www.nihilogic.dk/labs/canvas2image),但这在FireFox中有效,但在IE中无效,IE是首选浏览器。我还想在移动设备上运行这个,因为移动设备可能在一段时间内也不支持HTML5。
我有几个问题:
1-有没有其他(简单)的方法来打印我丢失的网页内容?
2-是否有其他WebBrowser事件可以触发,这将更有意义)?
3-如果我用其他控件说明,然后把地图和形状放在这个控件上进行后续打印,会有帮助吗?
4-这是否违背了网络浏览的初衷,只是一个坏主意(似乎如果我可以强制使用"打印屏幕",那么邪恶的网站可以强制使用Ctrl-Alt-Delete按钮序列)?
谢谢-Steve
这可能不是你想做的方法,因为它需要你以不同的方式重复你已经拥有的许多功能,但唯一真正充分证明的方法是从bing-maps静态图像服务中获得地图作为图像,并使用GDI+自己绘制地图,然后直接将该图像提供给用户。绕过任何浏览器问题,但根据您的要求需要做相当多的工作:
http://rbrundritt.wordpress.com/2009/02/22/drawing-routes-with-the-ve-web-service/
- 原始javascript将json对象中的项目打印到列表中的屏幕上
- 仅在屏幕媒体上运行javascript/jquery,而不是打印
- JavaScript,打印屏幕以及复制和粘贴
- 要在屏幕上打印的JavaScript
- 将文本框中的文本打印到屏幕上
- 迭代JSON对象并将元素打印到屏幕上的最佳方式是什么
- 当用户在HTML中点击回车键时,我如何将输入打印到屏幕上
- 延迟 window.print() 直到页面在 ajax 请求中加载以避免空白打印屏幕
- 如何在 Javascript 中捕获打印屏幕事件
- 禁用Wordpress中的打印屏幕按钮
- 如何在打印屏幕上使屏幕变白/变黑按钮单击
- 如何使用javascript禁用打印屏幕
- 浏览器上的web控件所需的打印屏幕功能
- 如何禁用打印屏幕
- & lt;帆布/比;并打印屏幕/截图
- 禁用打印屏幕键使用javascript
- 打印屏幕的键码(44不工作)
- 发送打印屏幕而不保存
- jQuery - 如何获取打印屏幕图像
- 如何在所有浏览器中禁用网页的打印屏幕功能