Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将脚本附加到<;头>;不';不起作用,但手动编写会起作用吗?Chrome调试器将它们呈现为相同的_Javascript_Html_Dom_Append_Head - Fatal编程技术网

Javascript 将脚本附加到<;头>;不';不起作用,但手动编写会起作用吗?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

为什么这样不行?我知道这个问题是不受欢迎的,但在我的情况下,我就是不明白为什么把这个脚本附加到head中不能按我希望的方式工作

它附加了脚本,我可以在chrome调试器中看到它。但我还是得到了错误

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