JavaScript:无法从子窗口访问父全局变量

时间:2012-07-30 22:50:22

标签: javascript

我生成一个新窗口并附上这些脚本:

  var newwindow2=window.open('','name','height=200,width=150,menubar=yes');
  var tmp = newwindow2.document;
  tmp.write('<html><head><title></title>');
  tmp.write('<link rel="stylesheet" href="css/app-style2.css">');
  tmp.write('</head><body></body><div id="myapp"></div>');


  var headtag = tmp.getElementsByTagName('head')[0];
  var fileref=document.createElement("script");
  fileref.setAttribute("type", "text/javascript");
  fileref.setAttribute("language", "JavaScript");
  fileref.setAttribute("src", "js/test.js");
  headtag.appendChild(fileref);

在test.js中也附加到开启者。我有全局的对象数组,称为联系人。如果我添加一个onload函数来查看窗格是如何加载的,我看到数组的数量就好了。

 fileref.onload = function() {

 alert(contacts.length);
 };

我尝试访问窗格并获得“null”。

function getObj(contactID){

  for (var i=1;i<= contacts.length;i++) {
      if (contactID == contacts[i].id)
      return contacts[i];     
  }
  return null;
}

我想知道哪里出错了? 顺便说一句:这是演示软件,只需要在FF上工作(如果可能的话,还可以使用chrome)

0 个答案:

没有答案