当您尝试查看谷歌的源代码search results page你只看到一个bunch of javascript code,而不是可读的文本。 Google如何做到这一点?Google如何隐藏搜索结果的HTML源代码?
我已经通过网络搜索,但没有找到一个很好的解释,只是我发现事情是这样的:http://goo.gl/FIvD6,它是不是真的有帮助。
我不是一个Web开发人员,但我刚刚好奇。简单的解释会很好。谢谢。
当您尝试查看谷歌的源代码search results page你只看到一个bunch of javascript code,而不是可读的文本。 Google如何做到这一点?Google如何隐藏搜索结果的HTML源代码?
我已经通过网络搜索,但没有找到一个很好的解释,只是我发现事情是这样的:http://goo.gl/FIvD6,它是不是真的有帮助。
我不是一个Web开发人员,但我刚刚好奇。简单的解释会很好。谢谢。
谷歌建立与您指出的JavaScript的DOM。它出于以下原因:
正如上文所述,跳进萤火虫和看看周围:)
谷歌并通过使用产生了一堆客户端的JavaScript的网页。这几乎肯定是一个副作用,而不是设计目标。
谷歌负载通过Ajax额外的元素,因此,如果您查看源代码,你不会得到他们。在进行新的查询后,您可以使用类似Firebug的东西来检查DOM元素。
该链接实际上很清楚地解释它。真正的一点是,Google不会“隐藏”任何东西。所有这一切都有一个额外的层,称为DOM(文档对象模型)。当从Web服务器请求页面时,Web服务器可能会响应一些基本的HTML和很多JavaScript代码。这个响应然后被你的浏览器解释。它会将HTML元素加载到DOM中,然后开始搅动所有的JavaScript代码,这个JavaScript通常包含很多操纵DOM(页面的内存中表示)的指令。它可能会加载一些额外的数据并插入新的位和片段来显示。如果你喜欢,可以使用“浏览器窗口”,呈现DOM中的内容。这与原始请求中的内容不一定相同,因为在“浏览器窗口”内呈现页面之前,所有指示都已运行。
怎么会萤火虫可以显示HTML,但我不能直接查看源? –
当您右键单击并查看源代码时,您正在查看由服务器**在任何Javascript执行前发送的页面,因此为什么当您查看谷歌搜索页面的源代码时,它不包含任何HTML这些元素是由客户端的Javascript创建的。 – Dom