【问题标题】:Why gmail source code does not show any html?为什么gmail源代码不显示任何html?
【发布时间】:2013-04-04 13:28:18
【问题描述】:

在 Chrome 浏览器中,如果您尝试查看 Gmail 的页面源代码(ctrl+u 说收件箱页面的源代码),它不会向您显示 HTML 代码,而是有很多 JavaScript 代码,主要是 JSON 格式左右.虽然您可以看到 html 头和元标记。

我的问题是:

  1. 他们是否试图隐藏他们的代码?
  2. 他们是否使用某种 JavaScript 模板来提高性能?
  3. 以 JavaScript 对象的形式发送响应以进行某种改进是最佳实践之一吗?

【问题讨论】:

  • 他们使用 Javascript 生成 DOM。还要搜索像
    这样的标签。

标签: javascript html json gmail obfuscation


【解决方案1】:

他们是否试图隐藏他们的代码?

在某种程度上。他们使用 Closure Compiler 来最小化和混淆他们的代码。

http://googlecode.blogspot.com/2009/11/introducing-closure-tools.html

全球数百万 Google 用户使用 JavaScript 密集型应用程序例如 Gmail、Google 文档和 Google 地图。与世界各地的开发人员一样,Google 员工希望能够更轻松地创建出色的网络应用程序,因此我们构建了许多工具来帮助我们开发这些(以及许多其他)应用程序。我们很高兴地宣布这些工具的开源,并自豪地向 Web 开发社区提供它们。

闭包编译器

Closure Compiler 是一个 JavaScript 优化器,它将 Web 应用程序编译成紧凑、高性能的 JavaScript 代码。


他们是否使用某种 JavaScript 模板来提高性能?

是的。来自同一个链接

闭包模板

闭包模板源于对预编译为高效 JavaScript 的 Web 模板的需求。闭包模板具有对程序员来说很自然的简单语法。与传统的模板系统不同,您可以将 Closure 模板视为组成用户界面的小组件,而不必为每个页面创建一个大模板。


以 JavaScript 对象的形式发送响应以进行某种改进是最佳实践之一吗?

如果您正在尝试编写一个富 JavaScript 客户端,那么最好的办法是将您的应用程序分解为 JavaScript 对象。

【讨论】:

    【解决方案2】:

    像 Gmail 这样的复杂网络应用程序使用 JavaScript 动态生成大部分页面内容。您从服务器收到的 HTML 大多只是脚本加载时要显示的初始内容。

    【讨论】:

    • 我知道这个功能,并在谷歌的 youtube 开发频道的某个地方听到了关于它的讨论......你知道任何其他网站大量使用 ajax 或者 gmail 在这方面是一个关闭?
    • 我确信有很多网站像 Gmail 一样大量使用 AJAX,但动态生成页面内容甚至不需要 AJAX。看看ExtJS 的文档和示例:HTML 文件可以小到一些<script> 标记和一个空的<body>,其他所有内容都由JS 生成,即使没有使用AJAX 来加载数据。
    【解决方案3】:

    1) 他们没有隐藏他们的代码。他们使用 Ajax 来显示他们的表单。因此,当使用 Ajax 时,我们需要使用 JavaScript 来操作一切。这就是你看到更多 JavaScript 的原因。而不是 Html 标签。

    2) 基本的基础是Ajax。

    3) 根据您的应用程序,您可以使用 JavaScript 对象来发送数据。这总是不好的做法。 JavaScript 是客户端脚本。使用 JavaScript 时要小心并检查应用程序的安全性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多