Javascript 将脚本附加到<;头>;不';不起作用,但手动编写会起作用吗?Chrome调试器将它们呈现为相同的
为什么这样不行?我知道这个问题是不受欢迎的,但在我的情况下,我就是不明白为什么把这个脚本附加到head中不能按我希望的方式工作 它附加了脚本,我可以在chrome调试器中看到它。但我还是得到了错误Javascript 将脚本附加到<;头>;不';不起作用,但手动编写会起作用吗?Chrome调试器将它们呈现为相同的,javascript,html,dom,append,head,Javascript,Html,Dom,Append,Head,为什么这样不行?我知道这个问题是不受欢迎的,但在我的情况下,我就是不明白为什么把这个脚本附加到head中不能按我希望的方式工作 它附加了脚本,我可以在chrome调试器中看到它。但我还是得到了错误 tools.js:26未捕获引用错误:未定义脚本\u对象 这没有意义,因为如果我直接从chrome调试器(由脚本创建并附加到head的调试器)复制/粘贴outerHTML,然后直接将其粘贴到index.htm中。那么它就可以正常工作了 代码: 我在后面附加的脚本: <script id="t
tools.js:26未捕获引用错误:未定义脚本\u对象
这没有意义,因为如果我直接从chrome调试器(由脚本创建并附加到head的调试器)复制/粘贴outerHTML,然后直接将其粘贴到index.htm中。那么它就可以正常工作了
代码:
我在后面附加的脚本:
<script id="toolsId" type="text/javascript" src="scripts/tools.js" defer></script>
归根结底,chrome的调试器在手动编写脚本和添加脚本之间没有任何区别。但是,除非是手动编写的,否则它无法识别脚本中的对象
tools.js:26 Uncaught ReferenceError: script_object is not defined
在实例化变量之前,您正在引用该变量。在引用它之前,它必须是可用的,这可能是因为您使用的是defer
推迟
此布尔属性设置为向浏览器指示
脚本将在解析文档后执行,但是
在开火之前,我已经装好了子弹。“延迟”属性应仅为
用于外部脚本
资料来源:
因此,浏览器仅在依赖它的第一个代码之后执行它,因此此时它不可用。是否有一个简单的解决方案,或者我应该继续填写脚本列表?
tools.js:26 Uncaught ReferenceError: script_object is not defined