smooth page refresh with jquery

dynamically reload page body contents with jquery instead of just asking browser to reload whole page, this provides a fully smooth page refresh and keeps page scroll position on all browsers
This commit is contained in:
narspt 2018-10-16 19:27:59 +01:00 committed by GitHub
parent 02a6bf07a8
commit dbc05c9b63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 15 deletions

View File

@ -94,22 +94,22 @@ else {
if ($PageOptions['PageRefreshActive']) { if ($PageOptions['PageRefreshActive']) {
echo ' echo '
<script src="./js/jquery-1.12.4.min.js"></script>
<script> <script>
var PageRefresh; var PageRefresh;
function ReloadPage() {'; function ReloadPage() {
if (($_SERVER['REQUEST_METHOD'] === 'POST') || isset($_GET['do'])) { $.get("./index.php'.(isset($_GET['show'])?'?show='.$_GET['show']:'').'", function(data) {
echo ' var BodyStart = data.indexOf("<bo"+"dy");
document.location.href = "./index.php'; var BodyEnd = data.indexOf("</bo"+"dy>");
if (isset($_GET['show'])) { if ((BodyStart >= 0) && (BodyEnd > BodyStart)) {
echo '?show='.$_GET['show']; BodyStart = data.indexOf(">", BodyStart)+1;
$("body").html(data.substring(BodyStart, BodyEnd));
} }
echo '";'; })
} else { .always(function() {
echo ' PageRefresh = setTimeout(ReloadPage, '.$PageOptions['PageRefreshDelay'].');
document.location.reload();'; });
}
echo '
}'; }';
if (!isset($_GET['show']) || (($_GET['show'] != 'liveircddb') && ($_GET['show'] != 'reflectors') && ($_GET['show'] != 'interlinks'))) { if (!isset($_GET['show']) || (($_GET['show'] != 'liveircddb') && ($_GET['show'] != 'reflectors') && ($_GET['show'] != 'interlinks'))) {