问答详情
源自:2-5 JavaScript-打开新窗口(window.open)

这句话是什么意思:“相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。”

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>window.open</title>
<script type="text/javascript">
  function Wopen(){
    window.open('http://www.imooc.com','_top','width=600,height=400,top=100,left=0,menubar=no,toolbar=no, status=no,scrollbars=no');  

  } 
</script>
</head>
<body>
    <input name="button" type="button" onClick="Wopen()" value="点击我,打开新窗口!" / >
</body>
</html>


提问者:qq_QG_0 2016-11-13 18:12

个回答

  • TearTire
    2017-01-21 18:25:33

    name参数是可选的。用于指定target属性或窗口的名称。

    target属性为_blank(默认)_self/_top(此时并没有给窗口命名,只是按照target属性打开网站)。

    如果name参数的值不是上述target属性,则为窗口名称,如"_set1/_set2"。“相同name的窗口只能创建一个”意思是一个name对应一个窗口,相同name并不会报错,只是网站都会在同一个窗体(name对应的窗体)中打开,后打开的网站会替换掉先打开的网站。如果希望不同的网站同时显示在不同的窗体中,需要不同的name创建多个窗体。


  • 幻想
    2016-12-18 11:33:41

    _blank和_self这些是参数你可以看做是命令或者设置(我反正是这样理解的),设置打开的窗口在浏览器里面是 新建一个 还是 用当前窗口跳转,而name就是打开的窗口的名字。

  • 逝去的WASD
    2016-11-13 18:48:54

    可以有很多个窗口,但是这些窗口的name属性不能出现相同的

  • 暮女神
    2016-11-13 18:43:51

    打开新窗口window.open([URL], [窗口名称], [参数字符串])这个语句中,中间的  name在同一个HTML文件中都各不相同,如window.open('http://www.imooc.com','test' ,'width=300,height=200'),那么这个页面里你再定义其他的name就不能是test了.就是一个名称而已,别太在意