“非侵入式 JavaScript / 渐进式 JavaScript”:一种前端编程理念,强调将 JavaScript 行为与 HTML 结构、CSS 样式分离,避免在 HTML 中内联脚本或事件属性(如 onclick),并在可能情况下保证页面在不支持脚本时仍能基本可用(常与“渐进增强”一起提及)。另有相关含义如“不显眼的/不打扰的”,此处主要指网页开发语境。
/ˌʌnəbˈtruːsɪv ˈdʒɑːvəˌskrɪpt/
Unobtrusive JavaScript keeps the HTML clean.
非侵入式 JavaScript 能让 HTML 保持整洁。
By attaching event listeners after the DOM loads, the team adopted unobtrusive JavaScript so the site still worked when scripts failed, while enhanced features appeared for capable browsers.
通过在 DOM 加载后再绑定事件监听器,团队采用了非侵入式 JavaScript:即使脚本出错网站也能运行,而在支持的浏览器中则会呈现增强功能。
Unobtrusive 由前缀 un-(否定)+ obtrusive(突兀的、打扰的)构成,表示“不会冒犯/不打扰的”。在网页开发中,它被借用来形容脚本“不要侵入 HTML 结构”。JavaScript 是 Netscape 在 1990 年代为其脚本语言命名时采用的名称(与 Java 的关系更多是历史与市场命名因素),在此短语中指用 JavaScript 实现行为层。