用外行术语来说,不干扰Javascript是什么?一个例子将有助于我的理解。
查看Wikipedia文章:
“不干扰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分开了。
注意:
可以在Wikipedia文章上查看的不引人注目的JavaScript还有更多内容。
感谢您提供一个很好的示例,但是为什么在HTML中包含onclick =“ alert('Test')却很糟糕?
@Imran:如果您考虑一下,有多种原因。为了便于携带,易于他人发现,扩展等。
那不是一个很好的例子,因为它不能提供“渐进式增强”。如果JS不起作用,则您有一个按钮,单击该按钮不会执行任何操作。为了不引人注目,或者应该使用JS将按钮添加到DOM中(如果不需要该功能才能使页面正常工作),或者应该是带有服务器端代码的提交按钮,以在新页面加载时生成消息JS失败。