如何只重新加载一次HTML基本网页?我在body标签中使用history.go(0);
函数onLoad
,但我只想运行一次。请注意,我使用的是iframe
,因此无法使用以下类型代码:
<script language=" JavaScript" ><!--
function MyReload()
{
window.location.reload();
}
//--></script>
<Body onLoad=" MyReload()" >
以上代码对我不起作用
但下面的代码工作正常,但问题是我需要加载一次
<BODY BGCOLOR=#FFFFFF background="../images/Index_04.jpg" onLoad="history.go(0)" >
注意:我在用户点击主页链接时使用2个iframe,在iframe中加载页面比我想用当前iframe页面重新加载整个页面。
答案 0 :(得分:5)
您可以在页面末尾使用querystring
(例如?r),并在重定向之前检查它,就像它存在一样,重定向已经完成。
if(window.location.href.substr(-2) !== "?r") {
window.location = window.location.href + "?r";
}
免责声明:我同意其他人的说法,你可能有更好的解决方案 - 而且永远不需要刷新'一次'。
使用说明
在页面底部,在</body>
正上方,你应该把它放在: -
<script type="text/javascript">
if(window.location.href.substr(-2) !== "?r") {
window.location = window.location.href + "?r";
}
</script>
就是这样。
答案 1 :(得分:4)
<script type="text/javascript">
$(document).ready(function(){
//Check if the current URL contains '#'
if(document.URL.indexOf("#")==-1)
{
// Set the URL to whatever it was plus "#".
url = document.URL+"#";
location = "#";
//Reload the page
location.reload(true);
}
});
</script>
由于if条件,页面只会重新加载一次。希望这会有所帮助。
答案 2 :(得分:0)
我能想到的唯一方法是使用cookie(或者如果你在正确的平台上,会话)并在第一次重新加载时标记,变量也可能在这种情况下起作用,因为我们正在说话关于IFRAME,但我从未尝试过这样的事情。
答案 3 :(得分:0)
这是另一种适用于我使用localStorage的解决方案。在此解决方案中,我们不需要修改现有的URL。
<script type='text/javascript'>
(function()
{
if( window.localStorage ){
if(!localStorage.getItem('firstReLoad')){
localStorage['firstReLoad'] = true;
window.location.reload();
} else {
localStorage.removeItem('firstReLoad');
}
}
})();
</script>