Javascript 执行条件代码onload()

Javascript 执行条件代码onload(),javascript,Javascript,我的页面上有两个按钮 <button id="reset" type="reset" value="Reset" onClick="window.location.reload()"/> &nbsp; <button id="random" type="button" onclick="randomPeg();">Empty random peg</button> function randomPeg() { window.location =

我的页面上有两个按钮

<button id="reset" type="reset" value="Reset" 
onClick="window.location.reload()"/>
&nbsp;
<button id="random" type="button" onclick="randomPeg();">Empty random 
peg</button>

function randomPeg()
{
window.location = window.location.href + "#refresh";
window.location.reload();
}
//At the start of JS code below
document.addEventListener("DOMContentLoaded", function(event) { 
if(window.location.hash == "#refresh"){
    window.location.hash="";
    //Some more code
});

空随机
钉
函数()
{
window.location=window.location.href+“#刷新”;
window.location.reload();
}
//在下面JS代码的开头
addEventListener(“DOMContentLoaded”,函数(事件){
if(window.location.hash==“#刷新”){
window.location.hash=“”;
//还有代码吗
});
第一个按钮只是重新加载窗口。
单击第二个按钮“Empty random peg”,我想重新加载页面,然后再执行一些代码。我尝试了一些在url中添加哈希的方法,但似乎不起作用。

您可以在永久本地存储中设置一个值,并在页面加载时检查该值是否存在:

function reload(){
  localStorage.setItem("showfancystuff",true);
  window.location.reload();
}

//test on load
window.addEventListener("load",function(){
  if(localStorage.getItem("showfancystuff")){
    localStorage.removeItem("showfancystuff");
    alert("wohoo weve reloaded!");
  }
});

您可以在永久本地存储中设置一个值,并在页面加载时检查该值是否存在:

function reload(){
  localStorage.setItem("showfancystuff",true);
  window.location.reload();
}

//test on load
window.addEventListener("load",function(){
  if(localStorage.getItem("showfancystuff")){
    localStorage.removeItem("showfancystuff");
    alert("wohoo weve reloaded!");
  }
});

使用ajax而不是重新加载可能是值得的。您能告诉我们到目前为止您做了什么吗?使用哈希听起来是一个好主意。您可以使用Cookie、本地存储或在服务器上获取参数URL@JeremyThille编辑我的帖子可能值得使用ajax而不是重新加载。你能告诉我们你到目前为止做了什么吗?使用哈希听起来不错您可以使用cookies、本地存储或获取计算机上的参数URL@JeremyThille编辑我的帖子这里有一个问题。
if(localStorage.getItem(“showfancystuff”)
始终为true,因为它要么是字符串
“true”
,要么是字符串
“false”
。您需要对照==“true”进行检查这段代码不是每次重新加载时都会运行吗,因为我希望它只在一次按钮重新加载时运行吗?@user7623678它会在每次重新加载时进行检查,但wohoo只会显示它是否是使用reload()函数重新加载的……这里有一个问题。
if(localStorage.getItem(“showfancystuff”))
始终为true,因为它要么是字符串
“true”
,要么是字符串
“false”
。您需要对照==“true”进行检查这段代码不是每次重新加载时都会运行吗?因为我希望它只在一次按钮重新加载时运行?@user7623678它会在每次重新加载时进行检查,但wohoo只会显示是否使用reload()函数重新加载了它。。。