Javascript函数无法打印到控制台上

时间:2013-06-13 10:05:23

标签: javascript jquery

为什么以下内容未打印到控制台?我无法理解错误是什么..可以帮助我调试错误。

<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

6 个答案:

答案 0 :(得分:4)

带有script属性的

src代码也不能包含内联内容。您需要为此创建一个新的脚本块。

答案 1 :(得分:2)

根据官方 html规范:

  

如果src具有URI值,则用户代理必须忽略该元素   内容并通过URI

检索脚本

有关详细信息,请参阅 Reference

答案 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>

您是否在headbody内插入了这些脚本标记?

答案 5 :(得分:0)

它没有打印到控制台,因为我尝试调用的函数是在另一个函数内部。所以它没有被正确调用。一个粗心的错误。