用外行人的话来说,什么是 Unobtrusive Javascript?

发布于 2024-10-08 09:59:26 字数 1435 浏览 5 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

£噩梦荏苒 2024-10-15 09:59:26

查看维基百科文章:

“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 的内容,可以在维基百科文章中查看。

Checkout the wikipedia article:

"Unobtrusive JavaScript" is a general
approach to the use of JavaScript in
web pages. Though the term is not
formally defined, its basic principles
are generally understood to include:

  • Separation of functionality (the "behavior layer") from a Web page's
    structure/content and presentation
  • Best practices to avoid the problems of traditional JavaScript
    programming (such as browser
    inconsistencies and lack of
    scalability)
  • Progressive enhancement to support user agents that may not
    support advanced JavaScript
    functionality[2]

So it is basically separating behavior or javascript from presentation or html.

Example:

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

That is not unobstrusive javascript because behaviour and presentation are mixed. The onclick shouldn't be there in html and should be part of javascript itself not html.

With above example, you can go unobstrusive like this:

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

JavaScript:

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

That time we have separated javascript from html with a very basic example.

Note:

There is more to unobstrusive javascript as can be checked out on wikipedia article.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文