0

私のphpページには、クリックすると新しいウィンドウで開くハイパーリンクがあります。しかし、一度に1つのウィンドウでのみ開く必要があり、ブラウザーの新しいウィンドウで既に開いている場合は開く必要があります。5回クリックすると、5つの新しいウィンドウが開いているとします。1つのウィンドウでのみ開きたいとします。この問題は Mozilla Firefox で発生しています。JavaScript または Jquery でこれを行うのを手伝ってください。どうもどうも。不完全な情報を共有して申し訳ありません。実際には、複数のリンクが php コードによって作成され、異なるウィンドウで開かれます。JavaScript を使用して別のウィンドウで開きました。私の問題は、同じ URL がウィンドウで既に開いている場合、またはいずれかの URL が複数回クリックされた場合、1 つのウィンドウのみを開く必要がある場合に、同じ URL を再度開くべきではないことです。これが私のコードです:PHPコード

<?php

$Class="class='リンク'"; $jsfun = 'javascript:openMyLink';

while(条件) { print "ここをクリック";

} ?>

JS コード:

function 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'); }

「Mywindow」の代わりにwindow.openの2番目のパラメーターも動的に変更しようとしましたが、うまくいきませんでした。クロムや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

最初のページにこのコードがあります。

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でうまくいきました。

于 2012-10-29T07:11:18.393 に答える