Javascript - 检测打开的窗口。我的代码不起作用

时间:2014-01-27 18:12:41

标签: javascript jquery html

我不是很擅长javascript,但我的代码不能正常工作。

我试图让自己明白。 在主页上,我有以下代码:

    <script type="text/javascript">
        <!--
        function popitup(url) {
           newwindow=window.open(url,'name','height=650,width=312');
           if (window.focus) {newwindow.focus()}
           return false;
        }
        // -->
    </script>

如您所知,此代码为我提供了312x650的弹出窗口。 然后我将以下链接打开:

<a href="" onClick="return popitup('escuchar.php?id=<?=$v['link']?>')"><?=$v['titulo']?></a>

好的,代码工作正常,但在这个“弹出窗口”中,我放了另一个链接,将我返回到主页面。 问题是我打开了一个新窗口,然后根据上面的代码,将它放在html popup javascript代码中,如下所示:

    <script type="text/javascript">
        <!--
        function popitup() {
           url = "index.php"
           newwindow=window.open(url,'Amixer Music');
           if (window.focus) {newwindow.focus()}
        }
        // -->
    </script>

此代码不能100%运行。 我假装我检测到我打开了一个名为“amixer Music”的页面,如果不是,请打开它。

然后当我点击弹出窗口中的链接时,我将不得不返回主页面:

<a href="javascript:popitup();" id="volver" title="Ve a la página principal y busca tu música!">Busca tus canciones!</a>

这会打开一个新窗口,忽略我已打开它。 如果我回过头来点击链接,似乎代码有效,因为我没有打开另一个窗口,但我重新加载了开头的窗口。

我的错误示​​例: http://traductoramixer.x10.bz/javascript/

1 个答案:

答案 0 :(得分:0)

在弹出窗口中,执行以下操作:

function popitup() {
    if(window.opener !== null && window.opener.length && 
        /^http\:\/\/traductoramixer\.x10\.bz\/javascript\/(index.html)?$/i.test(window.opener.location.href)){
        //If the main page is present,
        window.opener.focus();
        window.close();  //optional
    }else{
        //If not,
        var url = "index.php",
            newwindow = window.open(url, 'Amixer Music');
        if (window.focus) { newwindow.focus(); }
    }
}

我相信这会奏效。