Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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 setInterval未在click()函数中运行_Javascript_Facebook_Setinterval - Fatal编程技术网

Javascript setInterval未在click()函数中运行

Javascript setInterval未在click()函数中运行,javascript,facebook,setinterval,Javascript,Facebook,Setinterval,这个问题以前从来没有被问过,因为我已经广泛地寻找答案,我正在碰壁 当我通过控制台运行这段代码或输出onclick函数时,它可以通过打开一个facebookouth对话框完美地工作,当它完成时,它将关闭并重新加载原始页面 var win = window.open('/auth/facebook','location=yes, scrollbars=yes, width=640, height=359', true); var intervalID = setInterval(function

这个问题以前从来没有被问过,因为我已经广泛地寻找答案,我正在碰壁

当我通过控制台运行这段代码或输出onclick函数时,它可以通过打开一个facebookouth对话框完美地工作,当它完成时,它将关闭并重新加载原始页面

var win = window.open('/auth/facebook','location=yes, scrollbars=yes, width=640, height=359', true);


var intervalID = setInterval(function(){
      if(win.closed){
          location.reload();
      }
 }, 100);
我的问题是,在click()函数中,它根本不起作用

$(document).ready(function() {

        var intervalID = null;
        var win = null

        $("#flogin").click(function(){

            win = window.open('/auth/facebook','location=yes, scrollbars=yes, width=640, height=359', true);


            intervalID = setInterval(function(){
                    if(win.closed){
                        location.reload();
                    }

                }, 100);
        });
    });

对你们所有人来说,这似乎是一个非常简单的问题,可能有一个简单的答案,但我似乎找不到。谢谢你的帮助

正如您在评论中提到的,您正在使用
标记

使用
preventDefault
阻止默认操作

这应该行得通

$(document).ready(function() {

    var intervalID = null;
    var win = null

    $("#flogin").click(function(event){
        event.preventDefault(); //prevents the default action
        win = window.open('/auth/facebook','location=yes, scrollbars=yes, width=640, height=359', true);


        intervalID = setInterval(function(){
                if(win.closed){
                    location.reload();
                }

            }, 100);
    });
});

关于行
var-win=window.open
,如果您在开始时已经声明了
var-win=null
,那么您应该只声明
win=window.open
。html非常简单:我删除了没有result@chapmatic我已经回答了你的问题顺便说一句,空href与当前位置相同:)如果您想留在页面上,至少应该使用
“#”