外部JS文件插入页面最后修改日期遇Brackets报错:document未定义
解决Brackets中
document is not defined的ESLint错误 这个错误其实是Brackets内置的ESLint代码校验工具搞的鬼——它默认不知道document是浏览器环境的全局对象,所以把它当成了未定义的变量。你的代码逻辑本身是完全没问题的,只要告诉ESLint这是浏览器环境下的代码就行,下面给你几个简单的解决办法:
方法1:在JS文件顶部添加全局变量声明注释
直接在你的myjava.js最顶部加一行注释,明确告诉ESLintdocument是全局变量:
/* global document */ document.getElementById("lastMod").innerHTML = document.lastModified;
方法2:配置ESLint的浏览器环境
如果不想每个文件都加注释,可以在项目根目录创建一个.eslintrc配置文件,设置启用浏览器环境:
{ "env": { "browser": true } }
保存后,Brackets的ESLint就会自动识别浏览器全局对象,不会再报这个错误了。
方法3:在Brackets的ESLint设置里开启浏览器环境
如果你用的是Brackets的ESLint插件,可以直接在插件设置里找到"Environment"选项,勾选"Browser",这样插件就会默认把所有JS文件当作浏览器环境下的代码来校验。
最后再确认一下你的代码逻辑:HTML里的<script>放在<footer>的<p>后面,JS里通过getElementById获取元素并修改innerHTML,这部分是完全正确的,页面加载后就能正常显示最后修改日期。
内容的提问来源于stack exchange,提问作者user9482565
相关产品推荐
相关产品推荐

