Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:关闭弹出窗口_Javascript_Popup - Fatal编程技术网

Javascript:关闭弹出窗口

Javascript:关闭弹出窗口,javascript,popup,Javascript,Popup,我是JS noob,所以如果这个问题太“noobish”,请原谅 注意:函数很长,但只需向下滚动,直到看到//*********,因为这是重要的部分 我的职能: function ShowWindowN(userId,url,width,height,courseId) { var iev=getIEVer(); if(iev>=6&&iev<8){ width+=16*1; } var w=screen.availWidth<width

我是JS noob,所以如果这个问题太“noobish”,请原谅

注意:函数很长,但只需向下滚动,直到看到//*********,因为这是重要的部分

我的职能:

function ShowWindowN(userId,url,width,height,courseId) {
  var iev=getIEVer();
  if(iev>=6&&iev<8){
    width+=16*1;
  }
  var w=screen.availWidth<width?screen.availWidth:width;
  var csCookie=readCookie('course_settings_'+userId);
  var found=false;
  if(csCookie!=null){
    csCookie=eval('({'+csCookie.replace(/&/g,',').replace(/=/g,':')+'})');
    if(csCookie[courseId]!=null){
      height+=1*csCookie[courseId].height;
      found=true;
    }
  }
  if(!found){
    var plCookie=readCookie('player_settings_'+userId);
    if(plCookie!=null){
      plCookie=eval('({'+plCookie.replace(/&/g,',').replace(/=/g,':')+'})');
      height+=1*plCookie.window_extra_height;
    }else{
      height+=16;
    }
  }
  var h=screen.availHeight<height?screen.availHeight:height;
  var left = (screen.availWidth/2)-(w/2);
  //************
  objMovieWindow=window.open(url, "movieWindow", "width=" + w + ", height=" + h + ", top=0, left="+left+", status=false, toolbar=false, menubar=false, location=false, directories=false, scrollbars=1, resizable=1"); 
  objMovieWindow.focus();
  //alert(objMovieWindow.name);
};
但这不起作用,给了我一个“未定义”的错误。基本上,我加载页面,然后单击链接启动弹出窗口,然后重新加载父页面,通过单击父页面上的链接,我想关闭弹出窗口


请告诉我如何关闭这个该死的弹出窗口?

当您重新加载页面时,您将丢失对
objMovieWindow
的引用,因此您将无法调用
objMovieWindow.close()
。如果要关闭窗口,必须避免重新加载页面

更新


一种解决方法是使用相同的名称再次调用
window.open()
,然后对从中返回的引用调用
close()

您的代码对我有效。所以问题不在代码本身。可能是Firefox吗?我在16楼,那我怎么能保存那个参考资料呢?因为我没有选择,页面必须重新加载…你可以再次打开它(使用相同的确切名称),然后调用close。不,必须关闭我第一次打开的窗口。。。可能的无法保存引用然后再次调用它?如果使用相同的名称再次
open()
窗口,则不会打开新窗口,而是使用与以前相同的窗口并返回相同的引用。试一试。不,没有办法保存参考资料。
objMovieWindow.close();