下面的代码为什么在ie运行的时候报
object error的错误
这个winid变量不是在点A的时候生成了吗?<html>
<head>
<script language="JavaScript">
var winid;
function doA(){
winid = window.open("http://www.baidu.com","test1");
        try{
alert(winid.name);
        }catch(e){alert(e)}
}</script>
</head><body>
<input type="button" value="A" onclick="doA()">
</body>
</html>

解决方案 »

  1.   

    window.open()这个方法弹出的子窗体后,需要你在子窗体进行返回给父窗体值,这样winid才会赋上值,如果没有的话,你直接winid.name是会有错误的。这是我的感觉,你查查window.open这个方法。还有就是在子页面返回参数你要想alert这个值的话,是要写一个回调的函数的。你这么写肯定是不行。你试试吧。
      

  2.   

    但是我要打开的子窗体是别人的网页。我只是想知道打开后的windowname.
    通过windowname我想判断一下打开是不是成功了
      

  3.   

    window.open()方法打开新窗口,该方法接受四个参数,即要载入新窗口的页面的URL、新窗口的名字(为目标所用)、特性字符串和说明是否用新载入的页面替换当前页面的boolean值。一般只用前三个参数,最后一个参数只有在调用window.open()方法却不打开新窗口时才有效。
      

  4.   

    在ie下貌似做了保护,不能获得跨域新窗口的name,可能为了避免跨域攻击之类的吧。
    楼主把地址换成同一个网域的就可以获得。
    像楼主这样的需求还是在window.open的第四个参数做文章比较好。