【发布时间】:2012-12-06 07:22:08
【问题描述】:
我正在尝试针对常见做法提出一个纯粹的前端解决方案。
过去,我将重复使用的网站元素(如<nav>、<header>、<footer> 等)的 HTML 存储在 functions.php 文件中,并使用 php 函数来调用这些东西在多个页面上。这当然可以更轻松地在整个站点范围内进行更改,让我的生活更轻松。
但是,我真的不想再使用 PHP(或过去的 ASP)来执行此操作了。有没有人知道在 Javascript、jQuery 甚至 Node 中执行此操作的干净方法?为了清楚起见,我想在 HTML 中调用一个函数(如 writeNav(); ),该函数为导航拉取 HTML。如果可能的话,我宁愿不要在任何地方都包含<script> 标签。
【问题讨论】:
-
为什么要依赖客户端呢?如果您计划对每个元素进行 AJAX 调用,则加载每个页面的请求量会大大增加,并且对于互联网连接不良、移动设备或计算机速度慢的人来说,您的网站可能会加载缓慢。至少要确保您的网站正常降级。
-
是的,我想这是真的。与 AJAX 调用实际上并没有多大关系——内容总是相同的,并且不依赖于数据库。我只是想划分代码以使网站更容易扩展并且更改更加本地化(只需更改一页即可更改所有类型的导航)
-
现在实际上在这方面有一些来回,因为 ajax 和 JS 通常比以前快得多。我仍然倾向于减少请求负载,因为在移动设备中过多的来回仍然是残酷的,但简单的 ajax 请求将被缓存在浏览器中。
-
I don't really want to use PHP。为什么不?服务器端解决方案更加健壮,并且总是优于在客户端完成的相同功能,更不用说更可靠和健壮了。停止思考“我想要”,而更多地思考“什么是交付访问者想要的最佳方式”。在绝大多数情况下,这是一个快速、稳定的网站,可以提供有用的信息。
标签: javascript jquery html node.js