1

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

<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:未定义大声笑

4

6 回答 6

4

script tags with an src attribute cannot have inline content as well. You need to create a new script block for that.

于 2013-06-13T10:07:25.883 回答
2

According to the official html specification:

If the src has a URI value, user agents must ignore the element's contents and retrieve the script via the URI

For details see the Reference

于 2013-06-13T10:08:20.793 回答
2

From the w3c.

If the src attribute is not set, user agents must interpret the contents of the element as the script. If the src has a URI value, user agents must ignore the element's contents and retrieve the script via the URI.

于 2013-06-13T10:08:53.290 回答
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>

演示

于 2013-06-13T10:07:24.360 回答
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

于 2013-06-13T10:28:09.010 回答
0

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

于 2013-06-17T06:01:53.060 回答