为什么以下内容未打印到控制台?我无法理解错误是什么..可以帮助我调试错误。
<script type="text/javascript" src="static/js/scenes/scene_world.js">
//document.write("<button type='button' onclick='click();'>Click Me!</button>");
//document.write("<input id='clickMe' type='button' value='clickme' onclick='lol();' />");
console.log("lol");
</script>
在scene_world.js中:
function lol(){
console.log("lol");
}
从外面厌倦了这样访问:
<script type="text/javascript" src="static/js/scenes/scene_world.js">
//document.write("<button type='button' onclick='click();'>Click Me!</button>");
//document.write("<input id='clickMe' type='button' value='clickme' onclick='lol();' />");
</script>
<script>
document.write("<input id='clickMe' type='button' value='clickme' onclick='lol();' />");
</script>
但它给了我这个错误:
未捕获的ReferenceError:未定义lol
答案 0 :(得分:4)
script
属性的 src
代码也不能包含内联内容。您需要为此创建一个新的脚本块。
答案 1 :(得分:2)
答案 2 :(得分:2)
来自 w3c 。
如果未设置src属性,则用户代理必须解释 作为脚本的元素的内容。如果src有URI值, 用户代理必须忽略元素的内容并检索脚本 通过URI。
答案 3 :(得分:1)
您应该使用<script>
属性清除src
代码之间的所有内容,并将代码放在单独的<script>
代码中。
<script type="text/javascript" src="static/js/scenes/scene_world.js"></script>
<script>
document.write("<input id='clickMe' type='button' value='clickme' onclick='lol();' />");
</script>
请参阅DEMO。
答案 4 :(得分:0)
好的,编辑后,scene_world.js
没问题。为什么要使用document.write(..)
?
<script type="text/javascript" src="static/js/scenes/scene_world.js">
</script>
<input id='clickMe' type='button' value='clickme' onclick='lol();'/>
点击按钮时应该有效。
直接致电:
<script type="text/javascript" src="static/js/scenes/scene_world.js">
</script>
<script type="text/javascript">
lol();
</script>
您是否在head
或body
内插入了这些脚本标记?
答案 5 :(得分:0)
它没有打印到控制台,因为我尝试调用的函数是在另一个函数内部。所以它没有被正确调用。一个粗心的错误。