0

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

<?php

$Class="class='链接'"; $jsfun = 'javascript:openMyLink';

while(condition) { print "点击这里";

} ?>

JS代码:

函数 openMyLink(arg1,arg2,arg3) { var url = "http:///launcher.php?arg1="+arg1+"&arg2="+arg2+"&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 的问题。

4

2 回答 2

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>
于 2012-10-29T06:43:27.893 回答
0

On your first page have this code,

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

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

and your link should be having an attribute 'at' set to '0' just like

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

and let your children or newly opened page have this code.

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

This is little tricky but works.

Worked great for me on IE8.

于 2012-10-29T07:11:18.393 回答