【发布时间】:2012-03-01 16:48:14
【问题描述】:
全部,
我需要让我们网页的用户能够下载我们放在森林火灾模拟 dot net aspx 网页上的 Bing 地图的 jpeg 图像。有问题的页面目前显示 Bing 地图和多达 96 个形状的图层,可能需要长达 20 秒才能完全加载。如果有帮助,我可以将所有这些形状放在一层上 - 但我不确定它是否会这样做,我想我会先在这里问。
显然,任何“复杂”的客户端操作(如 ALT 打印屏幕、从网页打印、mwsnap3 或其他第三方解决方案)都不够,所以我被告知在页面上实现一个按钮在页面上按下时下载(或提供)一个 jpeg 图像文档/图像。
我从Convert webpage to image from ASP.NET 的一个很棒的帖子开始。 ,这真的很接近我想要的,但是页面会在浏览器上呈现。ReadyState != WebBrowserReadyState.Complete 转换,在我的形状加载到 Bing 画布上之前触发。我尝试在 DocumentTitleChanged 事件上呈现页面(然后在我的形状完成加载时尝试更改标题),但这也不起作用。
我尝试使用 javascript 强制“打印屏幕”字符(请参阅 Is it possible to simulate key press events programmatically?),但这会转换为逗号(十进制 44)并且没有按预期工作。
我还看到 HTLM5 对此提供了一些支持 (http://www.nihilogic.dk/labs/canvas2image),但是虽然这在 FireFox 中有效,但在 IE 中不起作用,这是首选的浏览器。我也想在移动设备上运行它,可能有一段时间也不支持 HTML5。
我有几个问题:
1 - 是否有另一种(简单)方法可以打印我丢失的网页内容?
2 - 是否有其他一些我可以触发的 WebBrowser 事件更有意义)?
3 - 如果我用一些其他控件声明然后将地图和形状放在此控件上以供后续打印,是否会有所帮助?
4 - 这是否违背了网页浏览的原则并且只是一个坏主意(似乎如果我可以强制使用“打印屏幕”,那么邪恶的网站可能会强制使用 Ctrl-Alt-Delete 按钮序列)?
谢谢 - 史蒂夫
【问题讨论】:
-
只返回背景平铺地图图像就足够了,还是您需要类似于实际屏幕截图的东西?
标签: javascript asp.net html bing-maps