突兀和不显眼的JavaScript之间的区别
突兀的和不显眼的javascript有什么区别 – 用简单的英文。 简洁感谢。 简短的例子也表示赞赏。
关注点分离。 你的HTML和CSS没有绑定到你的JS代码中。 您的JS代码不内联到某个HTML元素。 你的代码没有一个大function(或无function)的一切。 你有简洁,简洁的function。
模块化。 当你正确地分开顾虑时会发生 例如,你的真棒canvasanimation不需要知道向量如何工作,以绘制一个盒子。
如果他们没有安装JavaScript,或者没有运行最新的浏览器,请不要杀人 –尽你所能地优雅地降低体验。
当你只需要做一些小事的时候, 不要build造垃圾山 。 人们无休止地通过重新selectDOM元素来复杂化他们的代码,混淆了语义HTML,并在其中抛出了编号的ID,以及由于不了解文档模型或其他技术而发生的其他奇怪事情 – 所以他们依赖“魔术”抽象层,将所有东西放慢到垃圾速度,并引入高处的山峰。
标记中没有JavaScript是不显眼的:
<div id="informationHeader">Information</div>
突兀:
<div onclick="alert('obstrusive')">Information</div>
- 分离HTML和JavaScript(在外部JavaScript文件中定义您的JavaScript)
- 优雅的降级(页面的重要部分仍然可以在禁用JavaScript的情况下使用)。
对于一个冗长的解释,检查维基百科页面的主题。
为了扩大Mike的答案:使用UJS行为是“稍后”添加的。
<div id="info">Information</div> ... etc ... // In an included JS file etc, jQueryish. $(function() { $("#info").click(function() { alert("unobtrusive!"); } });
UJS也可能意味着温和的退化(我最喜欢的一种),例如,另一种获得#info
点击function的手段,可能是通过提供一个等效的链接。 换句话说,如果没有JavaScript,或者我正在使用屏幕阅读器等,会发生什么?
不显眼的 – “不突兀,不显眼,不自信,或沉默寡言。”
令人</s>目结舌的 – “具有或performance出强加于人的倾向,如将自己或他人的观点强加于人”。
阻碍 – “向前或向某人推送 (某物),特别是没有授权或邀请”
所以说,在强调自己的观点的时候,我认为不引人注意的JavaScript最重要的部分就是从用户的angular度来看它并不妨碍。 也就是说,如果JavaScript被浏览器设置closures,网站仍然可以工作。 无论是否启用JavaScript,使用屏幕阅读器,键盘和鼠标以及其他辅助function工具的用户仍可以访问该网站。 也许(可能)该网站不会像这样的用户“花哨”,但它仍然会工作。
如果您认为在“渐进式增强”这个术语中,您的网站的核心function将适用于所有人,无论他们如何访问它。 那么对于启用JavaScript和CSS的用户(大多数用户),您可以使用更多交互元素来增强它。
另一个关键的“不显眼的”因素是“分离关注点” – 程序员关心的不是用户,而是可以帮助阻止事物的JavaScript方面阻碍用户的体验。 从程序员的angular度来看,避免内联脚本确实会使标记更漂亮,更容易维护。 debugging不是分散在一堆内联事件处理程序中的脚本通常要容易得多。