所有Javascript网页的优点

所有Javascript网页的优点,javascript,html,Javascript,Html,我注意到,许多大型(大型)网站,如谷歌和Facebook,在查看页面源代码时,99%的源代码是JavaScript 有人知道这种方法相对于常规HTML+JavaScript页面的优势吗 它只是为了增加一些安全性,还是在性能或可维护性方面有好处?我认为这些都没有。如果你想在不同的屏幕大小上显示不同的内容,那么它更具交互性,更容易操作。 还有一些部分的性能(我从msdn上看到一件事,他们使用JavaScript在localstorage上存储块,因此难以置信地减少了http请求的数量,但这意味着删除

我注意到,许多大型(大型)网站,如谷歌和Facebook,在查看页面源代码时,99%的源代码是JavaScript

有人知道这种方法相对于常规HTML+JavaScript页面的优势吗


它只是为了增加一些安全性,还是在性能或可维护性方面有好处?

我认为这些都没有。如果你想在不同的屏幕大小上显示不同的内容,那么它更具交互性,更容易操作。
还有一些部分的性能(我从msdn上看到一件事,他们使用JavaScript在localstorage上存储块,因此难以置信地减少了http请求的数量,但这意味着删除没有JS的浏览器)。

我绝对不建议主要使用JavaScript“手动”编写页面。我认为他们的页面看起来像这样的最可能的原因是他们正在使用JSF等库,这些库为他们动态生成javascript。Javascript确实具有直接在客户机上运行的性能优势,而不需要请求服务器执行工作(这意味着到服务器的往返),尽管这通常仅限于不需要访问服务器资源的琐碎任务。至于可维护性,我想说,使用太多“手动”javascript编写的页面将更难维护。为了更好的可维护性,您应该在一个单独的js文件中包含javascript。

我以这种模式实现页面的一个原因是,我希望有一个客户端无关的服务器,它只提供以易于解析的格式(如JSON)打包的数据这样,同一台服务器就可以用来驱动传统的webapp以及其他东西,比如原生的Android和iPhone应用程序,而不需要对服务器代码进行任何特殊修改

JavaScript重页面允许您通过让JavaScript请求从服务器获取所需数据,然后使用它构建HTML界面来使用这种设置。考虑到大多数主要参与者都有类似的问题,即希望单一服务器架构跨大量平台为应用程序供电,这可能是他们选择主要用JavaScript实现网页的原因之一

所有Javascript网页的优点

有许多缺点,一个是可访问性被破坏。另一个原因是,您经常会完全重写客户端UI,这会导致跨浏览器问题和笨拙的性能,因为本地浏览器功能被DOM等价物取代

尝试使用旧版或非主流浏览器以及旧版PC的任何网站。你可能不会喜欢这种体验


最后,搜索机器人不会为你的网站编制索引,除非他们足够聪明,能够理解脚本和数据——我想很多人不会这样做。

天哪,你说得对
:)
。Facebook的源代码主要由脚本元素组成……jQuery不会“动态生成JavaScript”。它是一个库,您可以根据它编写自己的代码。此外,我绝对鄙视生成JavaScript的框架所抛出的垃圾。(我在看你,ASP.NET AJAX。)在我看来,真正的富客户端开发是使用“手动”JavaScript(使用jQuery之类的库)完成的。好吧,很公平,它不会动态生成。我想我更想说它隐藏了细节。我认为它吐出的javascript是否是垃圾并不重要。关键是它隐藏了细节,所以你不必担心它。更重要的是,您的源代码易于阅读和维护,我认为html(或“视图”)文件中的javascript越少,阅读和维护就越容易。您不一定需要客户端脚本来实现这一点,其他方法是在客户端使用不同的样式表,或者在服务器上使用XSLT来完成您在客户机上的建议。使用javascript重新构建本机浏览器UI是一项非常艰巨的任务(看看实现此任务的框架的大小),并且通常限制对数量有限的现代浏览器的访问。