【问题标题】:what are the downsides of using javascript to build an entire webpage?使用 javascript 构建整个网页的缺点是什么?
【发布时间】:2012-03-29 01:54:22
【问题描述】:

我的一个朋友正在编写一个网页。他没有在 .html 文件中编写任何 HTML,而是使用 javascript 输出整个网站。排除 SEO,或者调试会很痛苦的事实,这有什么缺点?另外,如果有上涨空间,那会有什么上涨空间?

【问题讨论】:

  • @BoltClock 你是说“只要它有效,那么它就有效”吗?
  • 我不明白为什么调试会很痛苦。这些天的开发人员工具非常好。也可以使用 qunit 或类似的工具来编写测试。

标签: javascript html seo document.write


【解决方案1】:

您已经知道,搜索引擎优化是一件大事。对于基于 javascript 的网站,SEO 通常是房间里的大象(例如大事),您要么放弃 SEO,要么必须以某种方式设计一个替代路径,搜索引擎可以通过该路径索引您并且不会与之发生冲突他们关于向搜索引擎提供不同内容的规则。

一些潜在的缺点:

  • 辅助功能 - 通过屏幕阅读器和其他适用于页面 HTML 的工具进行访问。
  • 移动 - 有时,与更简单的服务器渲染页面相比,渲染页面需要更大的下载量、更多的 JavaScript 代码和更多的数据以及更多的 CPU 来构建页面。这可能会在没有大量带宽或功率的小型设备上造成损害。
  • 性能 - 初始页面显示时间可能会较慢,因为在下载并运行所有数据和代码之前您无法呈现任何内容。随后的页面时间可能会更快或更慢,具体取决于应用程序的编写方式。有时您可以通过进行客户端渲染(这可能更快)来节省服务器行程,但有时在客户端上执行操作会更慢。
  • 安全性 - 在客户端无法像在服务器端那样保护某些东西。
  • 代码保密 - 浏览器中的代码向全世界开放。服务器上的代码可以保密。
  • 同源限制 - 由于同源限制,与服务器相比,浏览器的联系对象受到更多限制。
  • 内存 - 与服务器生成的 HTML 页面相比,大量代码和大量数据会为您的应用消耗更多内存。这在台式机上可能没有意义,但可能在较小的设备上。

一些好处:

  • 可以根据用户类型、屏幕尺寸、设备功能等使用多种智能方式动态呈现内容……而且这种本地呈现通常比尝试在本地呈现更有效服务器。
  • 您通常可以执行应用程序的许多功能,而无需重新加载页面,只需从服务器获取数据或使用 ajax 向服务器发出命令,而无需重新加载页面。

【讨论】:

  • 这是最大的问题,尽管您可以通过检测机器人并为其提供自定义内容来解决它(危险,如果您被抓住,我相信您会受到相当严厉的惩罚。)整个#! hashbang 的东西可能也能以更合法的方式提供帮助。
  • 该问题明确指出他想要SEO以外的原因。
  • @MartinHansen - 我知道。我想强调的是,尽管他们说他们询问的是 SEO 以外的问题,但这通常是 JS 页面渲染的杀手级问题。然后,我添加了一些与该问题相关的其他问题。
  • 我添加了更多可能的不利问题。
【解决方案2】:

移动可能是一大缺点。

根据功能,仅 javascript 页面对于移动设备上的页面可能会很慢。

如果您使用一个或多个库和/或访问大量信息,这些页面可能会占用大量资源。对于移动设备上的用户来说,这也可能会花费相当多的费用。

另一个缺点可能是可访问性。不确定如何为低视力/无视力用户启用软件与仅 js 的网站一起使用。

【讨论】:

    【解决方案3】:

    我认为这种编码更适合会员专区,当然搜索引擎无法访问。

    如果你使用一个好的库,它能够为你做布局,比如 ExtJS,这是一个有趣的编码。您可以构建看起来类似于桌面应用程序的 Web 应用程序。浏览器差异已被库消除,预计不会出现任何问题(如果有的话)。

    对于公共网站,一般来说 SEO 争论是一个很大的争论。如果没有人能找到你……

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2012-03-19
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 2011-02-02
      • 2010-09-08
      • 2012-03-29
      • 1970-01-01
      相关资源
      最近更新 更多