0

OK、PHP スクリプト内から新しいウィンドウを開きたいので、JS をそのままエコーします。

echo "<script type='text/javascript'>window.open('".configController::$BASE_URL."/view/share.php?u=".$url."');</script>";

ユーザーが対話できる通常のウィンドウを開きたいだけですが...メニューバーやステータスなどのない、病弱なガゼルのようなウィンドウが表示されます。これは純粋なポップアップ( icky )です。

オープン設定を提供してすべてのオプションを有効にしようとしましたが、まだ機能のないウィンドウが表示されます。

オプションを有効にしたPHPは次のとおりです。

echo "<script type='text/javascript'>window.open('".configController::$BASE_URL."/view/share.php?u=".$url."',' Share','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');</script>";

生成される JS は次のとおりです。

<script type='text/javascript'>
    window.open('http://localhost:8888/lks/view/share.php?u=www.yahoo.com',' Share','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');
</script>

ボタンのクリックから window.open('url here') を使用すると、必要なことが実行されます...違いは何ですか? そして...どうすれば普通のウィンドウを開くことができますか?

編集:

さらに深く潜る.... このページをまとめました。onLoad イベントは、不自由なウィンドウを開きます... Click Me をクリックすると、適切にウィンドウが開きます。

<html>
<head>

    <script type='text/javascript'>
        function popit(){
            //window.open('http://www.yahoo.com','_blank');
            window.open('http://www.yahoo.com','Share','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,history=yes,resizable=yes');
        }
    </script>
</head>
<body onload="popit()">
    <a href="#" onclick="popit();">CLICK ME</a>
</body>
</html>

編集2:

これを見つけました。1990 年代に多くの人が JS を悪用することを決めたため、ブラウザーの動作がおかしいと思います... アイデアは、共有中にユーザー エクスペリエンスを中断しないようにすることでしたが、使用する必要があるようです同じウィンドウに移動し、完了したら元の URL にリダイレクトします。

chrome および safari の onload イベントにアタッチすると、window.open が機能しない

編集 3: 数 年後、これが重複した質問ではないことを明確にする必要があります。元の質問は、当時は PHP だったバックエンド スクリプトからの window.open に関するものでした。何かを重複としてマークするときは、主題全体にハンマーを落としていると考えてください。別の S/O 回答にリンクしているからといって、残りの資料を破棄できるわけではありません。

4

2 に答える 2

-1

私がこれをいくつかの場所で使用したような単純なものは、クロム、ファイアフォックス、つまりサファリ、オペラで動作します..最近、私が取り組んでいるプロジェクトでこれを使用しました。そのため、まだ機能しているようです。

window.open(url, "_blank");

于 2012-06-16T00:49:02.777 に答える
-1

3 番目のパラメーターをwindow.open. 試しました"toolbar=yes, location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes"か?

于 2012-06-16T00:12:37.147 に答える