如果超链接已在新窗口中打开,则不应该是可点击的

时间:2012-10-29 05:57:36

标签: php javascript jquery html

我的php页面中有一个超级链接,点击它后会在新窗口中打开。但我希望它应该只在一个窗口打开,如果它已经在浏览器的新窗口中打开它应该打开。假设如果我点击5次它在5个新窗口中打开,我只希望它在一个窗口中。 Mozilla Firefox会出现此问题请帮我用JavaScript或Jquery做这件事。 谢谢 谢谢。并抱歉分享不完整的信息。实际上将通过php代码创建多个链接,这些链接将在不同的窗口中打开。我使用JavaScript在不同的窗口中打开它们。我的问题是,如果相同的网址已经在窗口中打开,或者如果多次点击任何网址它应该只打开一个窗口,则不应再次打开网址。 这是我的代码: PHP代码

<?php

$类= “类= '链接'”; $ jsfun ='javascript:openMyLink';

而(条件) {  打印“点击这里”;

} ?&GT;

JS代码:

  function openMyLink(arg1,arg2,arg3){      var url =“http:///launcher.php?arg1 =”+ arg1 +“&amp; arg2 =”+ arg2 +“&amp; arg3 =”+ arg3;       newwindow = window.open(url,“mywindow”,“height = 596,width = 795,left = 0,top = 0,resizable = yes,scrollbars = no,toolbar = no,menubar = no');   }

我尝试将window.open的第二个参数更改为动态而不是“Mywindow”,但它也不起作用。它没有给出chrome或IE的问题。

2 个答案:

答案 0 :(得分:3)

如果您只想在点击新网页后打开网站,请使用以下代码...

<a id="target" href="javascript:void(0)" onClick="myfunc()">click here</a>
<script type="text/javascript">
x=0;
function myfunc()
{   
    if(x==0)
    {
        x+=1;
        window.open("<--- YOUR SITE URL --->");
    }
}
</script>

答案 1 :(得分:0)

在您的第一页上有这段代码,

jQuery(document).ready(function($){

     $("#theLink").click(function(e){
         if($(this).attr("at")=='1')
         { 
              e.preventDefault();
              return false;
         }
  });
});

并且您的链接应该具有'at'属性设置为'0' 像

<a id="theLink" href="demo.html" target="_blank" at="0">Click here to go away</a>

让您的孩子或新打开的页面包含此代码。

window.opener.$("#theLink").attr("at","1");
$(window).unload(function() {    
   window.opener.$("#theLink").attr("at","0");
});

这有点棘手,但有效。

在IE8上为我工作很棒。