Firefox、Internet Explorerブラウザでページをリロードしたりページを前に戻すPHPアプリケーションを取得しようとしています。ブラウザで前後のボタンを押すときに、PHPページを強制的にリロードするにはどうすればよいですか?
私は前後にナビゲートすると、一部のページで部分的に動作しているコードを公式化しました。Document Expired
の代わりにページのリロードやキャッシュされたページを取得します。他のページは、戻るボタンまたは進むボタンを押したときにページの内容を正常にリロードせず、代わりに共通メソッドDocument Expired
を指定して、それらのページで自分のメソッドが成功しなかったことを示します。
Session.php - すべてのPHPスクリプトの上に含まれており、主にリロード
<?php
session_start();
$_SESSION['page_requested'] = $_SERVER['REQUEST_URI'];
if (isset($_POST['scrollamount']) && $_POST['scrollamount'] != "")
$_SESSION['scrollamount'] = $_POST['scrollamount'];
if (isset($_SESSION['page_loaded']) && !isset($_GET['load']))
{
unset($_SESSION['page_loaded']);
if (strpos($_SESSION['page_requested'], '?') !== false)
{
header("Location: $_SESSION[page_requested]&load=1");
exit;
}
else
{
header("Location: $_SESSION[page_requested]?load=1");
exit;
}
}
else if (!isset($_GET['load']))
{
header("Location: ?load=1");
exit;
}
?>
reload.phpの要求にページの負荷を処理する - リダイレクトループがあるように、これがGET値をクリア遭遇し、このスクリプトは、私はTAのに内容を変更したタグを持つすべてのPHPページで
<?
$_SESSION['page_loaded'] = true;
$_SESSION['page_requested'] = str_replace('&load=1', '', $_SESSION['page_requested']);
$_SESSION['page_requested'] = str_replace('?load=1', '', $_SESSION['page_requested']);
?>
上記各PHPスクリプトの1の後に含まれていませんgを<body onunload="">
にして、いくつかの洞察力のある提案に続いて強制的にリロードを試みてください。
残念ながら、再ロードの動作は、一貫して確実に機能していません。
どのように私はすべてのPHPスクリプト全体で動作するように、これまで持っているもの修正することができますか?