2014-01-27 41 views
0

我不是很擅长JavaScript,但我的代码并不如我所愿。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弹出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/

+0

请勿在[窗口的名称参数](https://developer.mozilla.org/en-US/docs/Web/API/Window.open)中使用空格,即使用例如'Amixer_Music'。 – Teemu

+0

你可以做一个jsfiddle –

+0

@Derek朕会功夫,jsFiddle给我一个关于“POST”的错误。无论如何,我已经上传到服务器供您查看。 http://traductoramixer.x10.bz/javascript/ – Kokox

回答

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(); } 
    } 
} 

我相信这会工作。

相关问题