为何外部JS文件中的alert弹窗在HTML页面无法正常触发?
问题原因及解决方案
嘿,这个问题我以前也踩过坑!根源出在你HTML里引用外部JS的<script>标签写法上——HTML里的script标签不能用自闭合语法(/>)!
按照HTML规范,<script>属于非自闭合标签,哪怕你写了<script type="text/javascript" src="basicFile.js"/>,很多浏览器也没法正确识别这个标签的结束位置,导致外部的basicFile.js根本没被加载进来。这就解释了为啥你调用func1()的时候既没弹窗也没输出,因为浏览器根本找不到这个函数的定义呀!
而你把func1直接写在HTML内嵌的<script>里能正常运行,是因为内嵌脚本不需要加载外部文件,浏览器能直接解析到函数代码,自然就能正常执行了。
给你修正后的HTML代码,把自闭合的script标签改成完整的闭合形式就行:
<html> <head> <script type="text/javascript" src="basicFile.js"></script> </head> <body> <script> func1(); </script> </body> </html>
这样修改后,外部JS文件就能被正确加载,func1里的alert和document.writeln应该就能正常工作啦!
内容的提问来源于stack exchange,提问作者Yanshof
相关产品推荐
相关产品推荐

