同水平的性能。 克里斯:我认为单页应用程序面临的更大挑战之一是……对于任何不熟悉这些应用程序的人来说。当单页应用程序没有单独的 HTML 文件时,或者如果您使用的是诸如 WordPress 之类的数据库驱动网站,您通常可以通过不同的方法获得相即使您的 WordPress 网站中的每个页面没有实际的物理 HTML 文件,WordPress 也会创建动态 HTML 文件并在请求 URL 时将其发送回浏览器。出于本次对话的目的,单页应用程序具有单个 HTML 文件,而不是为应用程序中的每个视图提供单独的 HTML 文件。这就是它成为单页应用程序的原因。JavaScript 处理一切。渲染内容、路由到不同的 URL 路径、从 API 或类似的东西获取新内容(如果需要)。 克里斯:这些的口头好处或声明的好处之一是化。
您不必重新下载所有
哦,您还可以进行设计师有时喜欢的那些精美的页面转换。从理论上讲,这比重新加载整个页面的性能更高。 克里斯:从我的角度来看,这种方法的问题在于,它还破坏了 西班牙手机数据库 浏览器免费为您提供的一堆开箱即用的东西,然后您需要使用更多 JS 重新创建它。您的应用程序速度很慢,因为它有大量 JS。因此,您需要投入更多的 JavaScript 来提高性能,这样做会破坏许多浏览器功能,然后还必须使用更多的 JS 重新实现这些功能。 克里斯:例如,浏览器可以在传统网站上免费执行一些操作,而当您使用单页应用程序时,您需要使用 JavaScript 重新创建这些操作。您需要使用 JavaScript 拦截链接点击并阻止它们实际触发。然后,您需要根据该 URL 确定实际需要显示的内容,这通常是在服务器上处理的内容或基于该 URL 路径附带的文件的内容。
您需要实际更新地址栏中的
而不触发页面重新加载。您需要监听浏览器上的前进和后退点击并再次更新内容,就像点击链接一样。您需要更新文档标题。 克里斯:您还需要以某种方式转移焦点,向使 欧洲邮箱 用屏幕阅读器和其他设备的人宣布页面的更改,以便他们不会对自己在哪里或正在发生的事情感到困惑。因为他们看不到正在发生的变化,所以他们听到的是宣布的变化。如果你实际上没有将焦点转移到任何地方,那么该公告就不会发生。这些都是浏览器会为你做的事情,但单页应用程序会破坏这些事情。 克里斯:最重要的是,因为你有所有这些额外的 JavaScript,所以这很复杂。所以大多数人使用框架和库来处理这类事情。由于支持此方法的所有这些额外的 JavaScript,您最终的初始页面加载速度可能比其他方式慢。