[英]How does Google hide HTML source of search results?
当您尝试查看Google 搜索结果页面的源代码时,您只会看到一堆javascript代码而不是可读文本。 谷歌如何做到这一点?
我在网上搜索过但找不到一个好的解释,我发现的只有这个: http : //goo.gl/FIvD6并没有什么帮助。
我不是网络开发者,但我很好奇。 简短的解释会很好。 谢谢。
Google通过使用一堆客户端JavaScript生成页面来实现这一点。 这几乎肯定是副作用,而不是设计目标。
Google通过Ajax加载其他元素,因此如果您查看源代码,则无法获取它们。 在进行新查询后,您可以使用Firebug之类的东西来检查DOM元素。
该链接实际上非常清楚地解释了它。 真正的问题是,谷歌并没有“隐藏”任何东西。 所有这一切都有一个额外的层,称为DOM(文档对象模型)。 当从Web服务器请求页面时,Web服务器可能会响应一些基本HTML和大量JavaScript代码。 然后,您的浏览器会解释此响应。 它将HTML元素加载到DOM中,然后开始编写所有JavaScript代码,这个JavaScript通常包含很多操作DOM的指令(页面的内存表示)。 它可能会加载一些额外的数据并插入新的位和片段来显示。 如果您愿意,可以使用“浏览器窗口”呈现DOM中的任何内容。 这不一定与原始请求中的任何内容相同,因为所有指令甚至在页面呈现在“浏览器窗口”之前就已运行。
Google使用您提到的javascript构建DOM。 这样做有很多原因:
如上所述,跳进萤火虫并环顾四周:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.