为了账号安全,请及时绑定邮箱和手机立即绑定

可以将<script><//script>内容放入<body>中吗?

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

  <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>   

 </head> 

 <body> 

<script type="text/javascript">  

  function openWindow(){

      var  w=confirm("打开网页吗?");

   if(w==true)

   {var website=prompt("输入网址","http://www.imooc.com");

   if (website!=false)

       {window.open(website,'_blank','width=400,height=500,menubar=no,toolbar=no');}

   else{alert("结束!");}

   }

   else{alert("结束!");}

  }

  </script> 

 <input type="button" value="新窗口打开网站" onclick="openWindow()" /> 

 </body>

</html>

这样对不对呢?和在<head>中的区别是什么?


正在回答

8 回答

script标签放在html的任何位置都可以,但不是放在任何位置都可以运行正常。假设你的js代码要对dom进行操作,如果直接放在head里,那么当浏览器解析到这里的js时,由于body其实根本还没被解析,所以这时js的操作就会报错。所以js里要加上window.onload或者直接把js放在</body>之前

0 回复 有任何疑惑可以回复我~
#1

WingFrank 提问者

谢谢。
2016-04-05 回复 有任何疑惑可以回复我~

 javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的

1 回复 有任何疑惑可以回复我~

可以放的

0 回复 有任何疑惑可以回复我~

最好js放在</body>之前,提升用户体验

1 回复 有任何疑惑可以回复我~

可以的 解析语言  会从上到下依次进行解析 

放入head会看起来更清晰调试方便

如果放在dom控件下边就可以直接引用dom控件了 不用写在dom加载完的函数中

1 回复 有任何疑惑可以回复我~

可以,不过一般是放在head里面或者外面,这样好调试

0 回复 有任何疑惑可以回复我~

可以放

0 回复 有任何疑惑可以回复我~

可以啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

可以将<script><//script>内容放入<body>中吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信