<a onClick="javascript:var windowname = window.open('bl.htm');alert(windowname.getInti());" href="#">sdfsdf</a>
<p></p>
<span onclick="alert(windowname.inti)">显示</span>不知楼主有没有考虑过,其实上面与下面的两个 windowname 不是一个变量,而是两个变量。
<a>里的那个 windowname 是在 onclick 方法里创建的一个函数内局部变量,在函数体外是调用不到的,你自己可以去看看变量的作用域。而第二个windowname调用的则是你上面的<script>里定义的页面全局变量,因为没有对这个变量赋该赋的值,当然出错。其实解决的方法很简单:
<a onClick="javascript:var windowname = window.open(
                       ---
把这个 var 去掉,即不在函数体里定义局部变量而直接使用全局变量<a onClick="javascript:windowname = window.open('bl.ht

解决方案 »

  1.   

    meizz(梅花雪) 谢谢你,果然基础扎实,但是还是出现些问题<a onClick="javascript:windowname = window.open('bl.htm');inti = windowname.getInti();" href="#">sdfsdf</a>对像不支持此属性和方法在调试器window.open('bl.htm');inti 提示这段有问题
      

  2.   

    你用 window.open() 打开一个新页面,那这个新页面总有一个加载过程吧,要等这个新页面加载好了之后你才能调用新页面里的JS函数,对不对?
      

  3.   

    是的,但是我总觉得windowname.getInti();好像是错误的执行,一个页面调用它的子页面(弹出页)的js函数问题