如何刷新返回button点击页面?

我使用.htaccess将所有stream量路由到一个index.php文件。 下面的代码来指挥stream量,但由于某种原因,它不适用于后退button。 我不知道该怎么做,以获得后退button的工作。 我已经尝试了各种各样的东西,search了一下,没有一个工作,所以我希望有人在这里可以帮助!

<?php if(isset($_GET['parameters'])) { if($_GET['parameters'] == "repair") include 'repair.html'; else if($_GET['parameters'] == "training") include 'training.html'; else if($_GET['parameters'] == "products") include 'products.html'; else if($_GET['parameters'] == "about") include 'about.html'; else if($_GET['parameters'] == "employees") include 'employees.html'; else if($_GET['parameters'] == "training") include 'training.html'; else if($_GET['parameters'] == "newaccount") include 'newaccount.html'; else if($_GET['parameters'] == "contact") include 'contact.html'; else if($_GET['parameters'] == "recommended") include 'recommended.html'; else if($_GET['parameters'] == "careers") include 'careers.html'; else include 'home.html'; } else include 'home.html'; ?> 

到目前为止,我已经尝试过,并没有使用: window.onbeforeunload body onunload=""

必须有一种方法onunload=location.reload()或其他东西! 不知何故必须知道的语法!

试试这个…未经testing。 我希望它会为你工作。

做一个新的PHP文件。 您可以使用后退和前进button,页面上的号码/时间戳记会始终更新。

 <?php header("Cache-Control: no-store, must-revalidate, max-age=0"); header("Pragma: no-cache"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); echo time(); ?> <a href="http://google.com">aaaaaaaaaaaaa</a> 

要么

find了另一个解

当用户点击后退button时,onload事件应该被触发。 未通过JavaScript创build的元素将保留其值。 我build议在INPUT TYPE =“hidden”中设置为display:none,然后使用input的值onload来重新创builddynamic元素。

 <input type="hidden" id="refreshed" value="no"> <script type="text/javascript"> onload=function(){ var e=document.getElementById("refreshed"); if(e.value=="no")e.value="yes"; else{e.value="no";location.reload();} } 

最近的解决scheme是使用The PerformanceNavigation接口 :

 if(!!window.performance && window.performance.navigation.type === 2) { console.log('Reloading'); window.location.reload(); } 

值为2的意思是“该页面是通过浏览历史访问的”。

在此查看浏览器支持: http : //caniuse.com/#search=Navigation%20Timing%20API

当通过浏览器返回button时,重新加载站点

隐藏的input解决scheme在Safari中不适合我。 下面的解决scheme工作,并从这里来 。

 window.onpageshow = function(event) { if (event.persisted) { window.location.reload() } }; 

这个简单的解决scheme张贴在这里强制页面刷新后退button工作

当用户点击返回button时,我试图强制浏览器再次下载一个页面,但是没有任何工作。 我看来,现代的浏览器有单独的caching页面,它存储了完整的页面状态(包括JavaScript生成的DOM元素),所以当用户按下返回button时,上一页以即时状态显示,用户已经离开了它。 如果你想强制浏览器重新加载页面上的button,添加onunload =“”您的(X)HTML正文元素:

<body onunload="">

这会禁用特殊的caching,并在用户按下后退button时强制页面重新加载。 在使用之前请三思。 需要这样的解决scheme的事实是一个暗示你的网站导航概念是有缺陷的。

我find了两种方法来处理这个问题。 select最适合您的情况。 在Firefox 53和Safari 10.1上testing的解决scheme

1.检测用户是否正在使用后退/前进button,然后重新加载整个页面

 if (!!window.performance && window.performance.navigation.type === 2) { // value 2 means "The page was accessed by navigating into the history" console.log('Reloading'); window.location.reload(); // reload whole page } 

2.如果页面被caching,则重新载入整个页面

 window.onpageshow = function (event) { if (event.persisted) { window.location.reload(); } }; 

你尝试过这样的事情吗? 未经testing…

 $(document).ready(function(){ $('.ajaxAnchor').on('click', function (event){ event.preventDefault(); var url = $(this).attr('href'); $.get(url, function(data) { $('section.center').html(data); var shortened = url.substring(0,url.length - 5); window.location.hash = shortened; }); }); }); 

首先在你的代码中插入字段:

 <input id="reloadValue" type="hidden" name="reloadValue" value="" /> 

然后运行jQuery:

 <script type="text/javascript"> jQuery(document).ready(function() { var d = new Date(); d = d.getTime(); if (jQuery('#reloadValue').val().length === 0) { jQuery('#reloadValue').val(d); jQuery('body').show(); } else { jQuery('#reloadValue').val(''); location.reload(); } }); 

window.onbeforeunload = function(){redirect(window.history.back(1)); };

Ahem u_u

正如我所说的后退button是为我们每个人在某个地方的痛苦…说…

只要你正常加载页面,就会造成很多麻烦…对一个标准的“网站”来说,它不会改变那么多…但是我认为你可以做出这样的事情

用户每次访问您的页面.php,select要加载的内容。 你可以尝试使用caching(不caching页面),也许过期date。

但长期的解决scheme会在“onload”事件上放置一个代码来获取数据,导致Ajax,这样你可以(用Javascript)运行你想要的代码,并且实例刷新页面。