按F5(刷新)后如何运行功能?

时间:2013-03-15 06:21:19

标签: javascript events javascript-events refresh

我尝试制作一些处理事件的脚本,例如“面板更改跟随URLhash”。按钮或链接上的事件我没有问题但是当我刷新页面时我遇到了问题。我的面板无法保持其值并自动重置。

我尝试解决这样的刷新问题:

<script>
document.addEventListener('keydown', function(e) {
    if(e.which == 116) {
        window.alert("1234");
        var id = window.location.hash;
        changePanel(id);
    }
}, false);
</script>

正如代码我给你看的那样。 alert()函数是工作。但是changePanel()它不起作用。我认为因为alert()在刷新之前已经运行了,而且还有changePanel()。但是在changePanel()的情况下,它会在刷新之前运行,然后在刷新之后所有更改都会重置为默认值。

刷新后如何运行changePanel()?

2 个答案:

答案 0 :(得分:0)

它不起作用,因为在按下f5页面后会刷新,所以新的内容会出现在页面上,因此您的面板/标签会重置..

您可以在

上试用代码
$(document).ready(
     var id = window.location.hash;
     changePanel(id);
);

上面的代码会在刷新按钮后自动设置标签,你可以按下按钮上的那两行相同的代码,这样也适用于你的实况页面。 :)

这对你有用。

感谢。

答案 1 :(得分:0)

对我来说效果很好。

通过html调用功能

<button type="button" name="button" onclick="loro()">fdthd</button>

JS文件

function loro() {
  location.reload();
  localStorage.setItem("po", "momo");
}

$(window).on("load", function() {
if (localStorage.getItem("po") === "momo" ) {
  alert('Bien, ejecutaste el boton')
  localStorage.setItem("po", "lulu");
} else {
  alert('No has precionado el boton')
}

});

在刷新页面之前,我运行一个功能以将“ momo”值保存在“ po”键中 之后,我刷新页面并检查PO是否具有momo的值。根据我是否在刷新之前运行该函数,它将运行特定的警报。