HTML引入同目录外部Javascript文件无法执行问题求助
问题根因
- 你直接双击打开HTML文件时使用的是
file://本地文件协议,所有现代浏览器都有同源安全策略,禁止file://协议下加载同目录的外部本地脚本,这是你控制台报错not allowed to load local source的核心原因,属于浏览器通用安全限制,不是单个浏览器的问题。 - 你之前搭建本地服务器后仍未生效,基本是操作错误导致:要么是服务器启动路径不是HTML/JS文件所在目录,要么是访问时仍然用
file://协议打开本地文件,没有通过服务器分配的http://localhost:端口地址访问。
修复步骤
- 先修正HTML的结构错误(非核心问题,但避免引发后续渲染异常):
<p>属于内容标签,不能放在<head>标签内,调整后的HTML代码如下:
<!doctype html> <html> <head> <script> document.write("this is working")</script> </head> <body> <p>this is working</p> <script src="test.js"></script> </body> </html>
- 按正确流程启动本地服务器访问,以Python为例:
- 打开Windows命令提示符,通过
cd 你的文件所在目录路径命令切换到HTML和test.js存放的文件夹 - 若安装的是Python3,执行命令
python -m http.server 8000;若为Python2,执行命令python -m SimpleHTTPServer 8000 - 打开浏览器,在地址栏输入
http://localhost:8000访问,不要直接双击打开HTML文件
- 完成上述操作后,外部test.js脚本就会正常执行,页面会输出对应的
Hello World!内容。
内容的提问来源于stack exchange,提问作者daredevil
相关产品推荐
相关产品推荐

