【问题标题】:What is Unobtrusive Javascript in layman terms? [closed]外行术语中的 Unobtrusive Javascript 是什么? [关闭]
【发布时间】:2011-05-27 14:24:22
【问题描述】:

什么是外行术语中的 Unobtrusive Javascript?一个例子会很好地帮助我理解。

【问题讨论】:

标签: javascript unobtrusive-javascript


【解决方案1】:

查看维基百科文章:

“Unobtrusive JavaScript”是通用的 JavaScript 的使用方法 网页。虽然这个词不是 正式定义,其基本原则 一般理解为包括:

  • 功能(“行为层”)与网页的分离 结构/内容和展示
  • 避免传统 JavaScript 问题的最佳实践 编程(如浏览器 不一致和缺乏 可扩展性)
  • 逐步增强以支持可能无法支持的用户代理 支持高级 JavaScript 功能[2]

所以它基本上是将行为或 javascript 与演示文稿或 html 分开。

示例:

<input type="button" id="btn" onclick="alert('Test')" />

这不是不显眼的 javascript,因为行为和表示是混合的。 onclick 不应该出现在 html 中,并且应该是 javascript 本身而不是 html 的一部分。

通过上面的例子,你可以像这样不显眼:

<input type="button" id="btn" />

JavaScript:

var el = document.getElementById('btn');
el.onclick = function(){
  alert('Test');
};

那次我们用一个非常基本的例子把javascript和html分开了。

注意:

还有更多不显眼的 javascript 可以在 wikipedia 文章中查看。

【讨论】:

  • 感谢您提供了一个很好的示例,但为什么在 html 中使用 onclick="alert('Test') 会很糟糕?
  • @Imran:如果您考虑一下,原因有很多。便于携带、便于他人查找、可扩展性等。
  • 这不是一个很好的例子,因为它无法提供“渐进式增强”。如果 JS 不起作用,那么您有一个按钮,单击时它什么也不做。为了不引人注目,应该使用 JS 将按钮添加到 DOM(如果页面不需要它提供的功能),或者它应该是带有服务器端代码的提交按钮,以在新页面加载时生成消息JS 失败。
猜你喜欢
  • 1970-01-01
  • 2011-05-28
  • 2010-09-27
  • 2019-12-08
  • 2017-05-10
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 2018-10-23
相关资源
最近更新 更多