file://srcc:\project\script.js/c:/project/script.jsnet::err_file_not_foundscript.jsjs/main.js../lib/utils.js//assets/js/app.jshttp://localhost:5000/python3 -m http.servernpx serveasyncdocument.getElementByIddeferfile://srcc:\project\script.js/c:/project/script.jsnet::err_file_not_foundscript.jsjs/main.js../lib/utils.js//assets/js/app.jshttp://localhost:5000/python3 -m http.servernpx serveasyncdocument.getElementByIddefer前”的效果 两者都只对带
src的外部脚本生效;内联脚本(
)不支持这两个属性 type 属性不是可有可无的,默认值已变,旧写法可能出兼容问题 过去常写
,但现在 HTML5 规范中,
type="module"和
type="application/json"等新类型出现,
type缺省时浏览器默认按
type="module"处理 —— 仅当没有
type且没有
src时,才回退到传统脚本。 立即学习 “ Java免费学习笔记(深入) ”; 使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件 如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更 下载 稳妥写法: 普通外部脚本:显式写
或直接省略
type(现代浏览器仍兼容) ES Module 脚本:必须写
,此时自动启用
defer行为,且不支持
document.write避免混用:不要在一个页面里既有
type="module"又有传统脚本还依赖全局变量,模块作用域隔离,
window.foo不会自动暴露 404 错误不会中断页面,但 script 加载失败后没有任何提示
加载 404 时,HTML 继续渲染,控制台只有一条浅色警告(Chrome 中是「Failed to load resource」),没报错,也没回调通知 —— 很多开发者因此以为脚本“运行了”,实际根本没进。 排查建议: 打开浏览器开发者工具的 Network 标签页,过滤
JS,看对应请求状态码是不是 404 或 403 检查路径是否拼错,尤其注意大小写(Linux/macOS 服务器区分大小写,
Script.js≠
script.js) 如果用构建工具(如 Webpack/Vite),确认输出目录结构和
public资源是否被正确拷贝,
src
值是否按实际部署路径配置
外部 JS 是否加载成功,靠肉眼基本看不出来。得养成先盯 Network 面板再查控制台的习惯。
相关文章