检查html页面是否打开。如果打开则不重新打开或重新加载停止执行

时间:2015-08-04 04:12:53

标签: javascript jquery

    if (i<=5)
{
 myWindow = window.open("help.html", "myWindow");
}

这里它将检查输入,如果值为5,它将打开help.html,如果值为4,3,2,1将每次打开或重新加载help.html。,我需要的是它应该一次打开该html文件,如果值转到4,3,2,1或任何组合,则不应再次重新加载或打开另一个窗口,同一个help.html页面。相反它应该检查help.html是否打开,如果打开它应该停止执行。如果关闭它可以打开help.html。,引导我..

    var windows = {};
$('a').click(function(e){
    var url = $(this).attr('href');
    var name = $(this).attr('id');
    if(windows.hasOwnProperty(name) && !windows[name].closed ) 
    {
       windows[name].focus();   
    }
    else  
    {
       windows[name]=window.open (url,name,"status=1,width=300,height=300");
    }    
});

我找到了这个例子,但是如何结合我的要求

2 个答案:

答案 0 :(得分:0)

以下是片段和工作DEMO

    var i = 3, //hard-coded i vlaue here
    myWindow = {
        closed: true  //needed this property 
    };

    $('#btn').click(function () {

        if (i <= 5 && myWindow.closed) {
            myWindow = window.open("http://jsfiddle.net/");
        }

    });

答案 1 :(得分:0)

<!DOCTYPE html>
<html>
<head>

<script>
var myWindow;
function openWin() {
if (!myWindow){
  myWindow = window.open("", "");
}
}

function closeWin() {
    if (myWindow) {
        myWindow.close();
    }
}

function checkWin() {
    msg = ""
    if (!myWindow) {
        msg = "was never opened";
    } else { 
        if (myWindow.closed) { 
            msg = "is closed";
        } else {
            msg = "is open";
        }
    
    }	
    document.getElementById("msg").innerHTML = 
    "myWindow " + msg;
}
</script>

</head>
<body>

<button onclick="openWin()">Open myWindow</button>
<button onclick="closeWin()">Close myWindow</button>
<button onclick="checkWin()">Is myWindow open?</button>

<br><br>
<div id="msg"></div>

</body>
</html>

我利用这个例子解决了这个问题。