- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有疑问:-是否有任何标准/约定何时应使用“Smarty 模板”以及何时应使用 Javascript Ajax 调用来生成内容?我可以使用 Ajax/Javascript 调用来动态生成内容。
我的应用程序同时使用 Ajax 和 Smarty , 但我想为开发者制定一个规则
最佳答案
您应该仅使用 AJAX 调用来加载页面加载时未知的动态数据。例如,当您在 Stack Overflow 上单击给定问题/答案的“评论”链接时,将进行 AJAX 调用以动态加载数据。这是用户点击评论链接的结果,而不是页面加载的结果。您不知道应该在加载页面时显示这些评论,因此在这种情况下进行 AJAX 调用是合适的。
您应该使用模板来显示页面加载时已知的任何数据。它使与禁用 Javascript 的人打交道变得更容易(我知道,不是很多),并且它提供了逻辑与表示的清晰分离。使用模板的另一个重要好处是可以显着减少从客户端浏览器发出的 HTTP 请求的数量。
这在移动浏览世界中尤为重要,因为延迟而非带宽是您最大的障碍。例如,在移动版 Safari 中,对 Smarty 模板页面的单个 HTTP 请求加载速度明显快于加载 Javascript 模板页面的请求,后者会发出五六个额外的 HTTP 请求。在使用 EDGE、3G 和其他非 wifi 移动数据服务时尤其如此。事实上,这非常重要,它是雅虎 Best Practices for Speeding Up Your Website 中的第一个指南。 .
理想情况下,您还应该在禁用 Javascript 时优雅地降低功能。一个很好的例子是自动完成搜索框。当您键入时,建议的搜索词会神奇地出现,这真的很酷,但是如果您关闭 Javascript,您仍然有一个功能搜索框。这是服务质量下降的典型例子。 Stack Overflow 通常在提供可靠的非 Javascript 体验方面做得很好。它不足的地方之一是在评论中。禁用 Javascript 时,仅显示最流行的评论,并禁止发布新评论。
除非绝对必要,您应该将 Javascript 视为一项可能不会启用的额外功能,而不是应该用来构建您网站的关键部分的东西。显然有异常(exception)(有些事情没有 Javascript 就无法完成)。例如,您会注意到 Stack Overflow 在关闭 Javascript 的情况下非常有用。您不会在发布新答案时获得实时更新,也不会获得精美的实时 Markdown 预览,但核心功能仍然存在。所有“繁重的工作”都是用 HTML 和 CSS 完成的。 Javascript 只是锦上添花(不可否认非常好的锦上添花)。这是一种旁注,但它很重要,值得一提。
关于php - 聪明人VS。 Javascript/AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/415699/
我已经找了几个小时了,但找不到解决方案。 我需要一种方法来在我的模板中将价格四舍五入到它的小数点上方(聪明,我不能编辑任何 php 文件)我尝试使用 round 函数,但不知道如何提供模式参数“PHP
if (!isset($var)){ 的 smarty 代码是什么? 如果在 smarty 中未定义 $x 时使用 {if $x eq '5'} ,则会给出错误 function call 'get_
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
对于我们最新的项目,我们使用了 Django,其中可以指定文件夹列表,用于搜索模板,例如名称为 example.html 的模板。现在,我们切换回 Smarty (PHP) 并且想知道是否有类似的东西
我有一个 php 变量,里面有 html/smarty 代码 $x='{$title}'; 此数据是从数据库中获取的,我想使用 smarty 对其进行评估并将输出放入一个 php 变量中(打印出来或再
是否可以使用 Smarty 在一张表中使用两个不同的 foreach 循环?我尝试了一切,但它似乎不起作用。 $numrow 数组有 10 个结果,但在所有 10 行中只显示一个且相同。 这是 Sma
我是一名优秀的程序员,十分优秀!