【问题标题】:How to run function after press F5 (refresh)?按F5(刷新)后如何运行功能?
【发布时间】:2013-03-15 06:21:19
【问题描述】:

我尝试制作一些脚本来处理诸如“面板更改跟随 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()

【问题讨论】:

标签: javascript events refresh dom-events


【解决方案1】:

它不起作用,因为按下f5 后页面将被刷新,因此新内容将出现在页面上,因此您的面板/选项卡被重置..

你可以试试你的代码

$(document).ready(
     var id = window.location.hash;
     changePanel(id);
);

以上代码将在刷新按钮后自动设置标签,您可以在按下按钮时保留这 2 行的相同代码,这样也适用于您的实时页面。 :)

这对你有用。

谢谢。

【讨论】:

    【解决方案2】:

    它非常适合我。

    从你的 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')
    }
    
    });
    
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-19
      • 2023-04-05
      • 2011-08-03
      • 2015-06-29
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      相关资源
      最近更新 更多