Web サイトを開発するとき、多くの場合、いくつかの特別な機能を実装する必要があります。その中で、共通の要件の 1 つは、ブラウザーのタブを閉じるか、ブラウザー ウィンドウ全体を閉じるようにユーザーを制御することです。この目的は、PHP 言語を通じて実現できます。この記事では、この機能を PHP で実装する方法を紹介します。
1. JavaScript を使用して Web ページをブロックおよび閉じる機能を実現する
PHP 言語を使用して Web ページの機能をブロックおよび閉じる方法を紹介する前に、まずご紹介します。 JavaScript を使用して Web ページをブロックおよび閉じる機能を実現する方法。
JavaScript では、onbeforeunload イベントを使用して関連する操作を実行できます。このイベントは、ブラウザーのタブまたはブラウザー ウィンドウを閉じる前に発生します。イベントがトリガーされたときに動作するコードを記述して、シールドとクローズの効果を実現できます。
以下では、現在の Web ページをブロックして閉じる JavaScript コードを示します。
window.onbeforeunload = function () { return "确定要离开当前页面吗?"; };
このコードでは、onbeforeunload イベントを使用し、関数のコンテンツはプロンプトです。情報。ブラウザが現在のタブまたはウィンドウ全体を閉じようとすると、システムは上記のテキスト内容を表示する確認ボックスをポップアップ表示します。ユーザーが [OK] を選択するとページは閉じられ、それ以外の場合は現在のページに残ります。
もちろん、JavaScript はフロントエンド ページの動作を変更することしかできませんが、サーバーサイド PHP の場合は他にも多くのことを行うことができます。今回はPHPでWebページを閉じる機能を実装する方法を紹介します。
2. PHP を使用して Web ページをブロックして閉じる機能を実装する
PHP で Web ページをブロックして閉じる機能を実装するには、セッション メカニズムを使用してそれを実現する必要があります。セッションメカニズムは、クライアントとサーバーの間でデータを保存するために使用される、HTTP プロトコルに基づくセッションメカニズムです。セッションでは、次のリクエスト時に簡単に取得できる情報を保存できます。
以下は、PHP を使用して Web ページをブロックして閉じるコードです:
session_start(); $_SESSION['showMessage'] = true;
このコードでは、session_start() 関数を使用してセッションを開き、$_SESSION 関数を使用します。配列を使用していくつかの変数をページ全体に保存します。ここでは、$_SESSION['showMessage'] を true に設定し、次のページに確認ボックスをポップアップ表示する必要があることを示します。
次に、次のページでは、$_SESSION['showMessage'] の値を取り出し、確認ボックスをポップアップする必要があるかどうかを判断する必要があります。具体的なコードは次のとおりです。
session_start(); if (isset($_SESSION['showMessage']) && $_SESSION['showMessage'] === true) { echo '<script>alert("确定要离开当前页面吗?");</script>'; unset($_SESSION['showMessage']); }
このコードでは、isset() 関数を使用して、$_SESSION['showMessage'] が存在するかどうか、およびその値が true であるかどうかを判断します。その場合は、echo
を使用して JavaScript コードを出力し、確認ボックスをポップアップ表示します。確認ボックスが表示された後、複数の確認ボックスが表示されるのを避けるために、$_SESSION['showMessage'] の値を null に設定する必要もあります。
3. JavaScriptとPHPを総合的に利用してWebページのブロック・クローズ機能を実装
実際の開発ではページ間のジャンプ関係が複雑なため、ユーザーがジャンプすることは保証できません。次のページへ。そのため、フロントエンド(JavaScript)とバックエンド(PHP)の両方で判断する必要があります。
次のコードは、JavaScript と PHP を使用して Web ページをブロックして閉じるコードです:
JavaScript コード:
window.onbeforeunload = function () { var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "close.php", false); xmlhttp.send(); return "确定要离开当前页面吗?"; };
PHP コード:
session_start(); if (isset($_REQUEST['close'])) { $_SESSION['showMessage'] = false; exit; } if (isset($_SESSION['showMessage']) && $_SESSION['showMessage'] === true) { echo '<script>alert("确定要离开当前页面吗?");</script>'; unset($_SESSION['showMessage']); }
このコードでは、XMLHttpRequest オブジェクトを使用して Ajax リクエストをトリガーし、それをバックグラウンド PHP ファイルに送信して、フロントエンド JavaScript でバックグラウンド PHP を実行する効果を実現します。 PHP ファイルは $_SESSION['showMessage'] の値を false に設定し、次のページで確認ボックスをポップアップ表示するコードは実行されなくなります。
結論
この記事では、PHP 言語を使用して Web ページを閉じる機能をブロックする方法を紹介しました。セッション メカニズムを使用すると、サーバー側で中間変数を維持し、確認ボックスをポップアップする必要があるかどうかを決定できます。
この記事では、JavaScript と PHP を使用して Web ページをブロックおよび閉じる機能を実装する方法も紹介します。フロントエンド(JavaScript)とバックエンド(PHP)の両方で判定することで、Webページのブロック・クローズ機能の信頼性をより高めることができます。
以上がPHP コントロールを使用して現在の Web ページを閉じる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。