Я работаю над сайтом. Я реализовал функцию загрузки прокрутки. Теперь проблема заключается в том, что когда пользователь щелкает ссылку и затем нажимает кнопку «Назад», он не возвращается обратно на позицию на странице, на которой он щелкнул, а перенаправляется в верхнюю часть страницы. Как я могу реализовать такое требование в PHP, чтобы пользователь перенаправлялся обратно в то же место, что и в Instagram?
Я знаю, что кеш нужно хранить и затем извлекать, но не знаю, как это сделать, или есть какой-то другой подход?
Вот код для загрузки на свитке:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
var limit = 6;
var start = 0;
var action = 'inactive';
function load_data(limit, start)
{
$.ajax({
url:"fetcher.php",
method:"POST",
data:{limit:limit, start:start},
cache:false,
success:function(data)
{
//console.log(data+"sjdfksdcsjcbljd");
$('#load_data').append(data);
if(data.length < 5)
{
$('#load_data_message').html('<img src="img/spinner.gif" height=200 width=200 align="middle" style="visibility: hidden;">');
action = 'active';
}
else
{
//$('#load_data_message').html("<button type='button' class='btn btn-warning'>Please Wait....</button>");
$('#load_data_message').html('<img src="img/spinner.gif" height=200 width=200 align="middle">');
action = "inactive";
}
}
});
}
if(action == 'inactive')
{
action = 'active';
console.log("onload");
load_data(limit, start);
}
$(window).scroll(function(){
if($(window).scrollTop() + $(window).height() > $("#load_data").height() && action == 'inactive')
{
action = 'active';
start = start + limit;
console.log("Scrolled"+start);
setTimeout(function(){
load_data(limit, start);
$("#all").trigger('click');
}, 1000);
}
});
setTimeout(() => {
$("#all").trigger('click');
}, 1000);;
});
</script>
а вот fether.php:
<?php
include_once 'includes/connect.inc.php';
if(isset($_POST["limit"], $_POST["start"]))
{
$today = date("Y-m-d");
$query = "SELECT * FROM events ORDER BY event_date DESC LIMIT ".$_POST["start"].", ".$_POST["limit"]."";
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_array($result))
{
$event_date = $row['event_date'];
if(strtotime($today) <= strtotime($event_date)) {
// Event has not yet finished
echo "<div class=\"col-lg-4 col-md-6 pt-4 mycard upcoming\">";
} else {
// Event has finished
echo "<div class=\"col-lg-4 col-md-6 pt-4 mycard past\">";
}
echo "<a class=\"card-link\" href=\"eventdetails.php?id=" . $row['event_id'] . "\">
<div class=\"card px-2 pt-2\">
<img class=\"card-img-top img-fluid\" src='images/".$row['event_bannername']."'>
<h4 class=\"card-title text-center mt-2\">" . $row['event_title'] . "</h4>
</div></a>
</div>";
}
}
?>
http://ieee.shahandanchor.com
http://ieee.shahandanchor.com/events.php
Это ссылка на сайт, который я пытаюсь реализовать. Возможно, нагрузка по прокрутке еще не активна по этой ссылке, но она у меня на локальном хосте