【发布时间】:2011-09-25 13:04:52
【问题描述】:
我没有邀请,但它已在 TWIG 上使用过。 它的工作原理如下:
您可以选择要突出显示的部分,要涂黑的部分。 在下一步中,将创建一个屏幕截图 (??),您可以预览传输的其他浏览器信息。
那么 Google 是如何创建该屏幕截图的?它会发送完整的修改后的 DOM 以进行服务器端处理吗?或者这里还涉及什么其他黑魔法?
【问题讨论】:
标签: javascript web-applications google-plus
我没有邀请,但它已在 TWIG 上使用过。 它的工作原理如下:
您可以选择要突出显示的部分,要涂黑的部分。 在下一步中,将创建一个屏幕截图 (??),您可以预览传输的其他浏览器信息。
那么 Google 是如何创建该屏幕截图的?它会发送完整的修改后的 DOM 以进行服务器端处理吗?或者这里还涉及什么其他黑魔法?
【问题讨论】:
标签: javascript web-applications google-plus
高亮和黑点只是 HTML divs。 页面截图为画布。
我使用 Chrome 的开发者工具来确认这一点。它甚至可以在 Firefox 和 Internet Explorer 中使用,所以它绝对不仅仅是 Chrome 的东西。
这是一个开发者工具的截图,其中一个突出显示的元素表明它是div:
只有一个画布:
当对话框这样说时:
请稍候,我们正在拍摄页面快照,以便您突出显示 相关领域。
它似乎是在服务器上呈现页面的屏幕截图(因为“网络”选项卡中有一个请求,它与快照和根据请求 URL 中的变量的反馈有关)然后它放置页面上的屏幕截图。
单击“下一步”后,会打开另一个对话框,其中包含所有信息,并呈现最终的屏幕截图,其中包含您的高光和黑点。
我不确定他们是如何完成“突出显示的文本”部分的。
【讨论】:
它可以将整个 DOM 树发送到服务器并在另一端呈现。
【讨论】:
不知道该功能,但您如何描述它; 它不是跨平台功能,也不在规范中。您正在寻找画布元素的drawWindow。然后他们对画布进行 base64/urlencode 并将其发送到服务器。可以想象他们用服务器端的黑魔法来支持 IE6 支持.. 或者他们让 google+ 成为 html5 浏览器唯一的东西..
【讨论】:
<canvas>-tag。