使用相同按钮在窗口重新加载后调用功能

时间:2019-04-08 08:29:52

标签: javascript jquery html frontend

tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [32,15] vs. [20,15]
     [[Node: preprocess_layer_1/sub = Sub[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_IN_0_0, preprocess_layer_1/mean/read)]]

这是我的简单目标,每次用户单击“开始”按钮时,我都希望页面重新加载,但仍然调用自定义$('#start').click(function () { window.location.href=window.location.href; runme(); }); 函数。请让我知道这是否可行或有其他方法。预先感谢。

3 个答案:

答案 0 :(得分:2)

每当您重新加载页面JS从头开始再次运行时,因此您无法在页面重新加载后直接触发某些功能。 但是,为了实现这一点,您可以使用sessionStorage
因此,您可以执行以下操作:

$('#start').click(function () {
    sessionStorage.setItem('callRunMe', '1')
    window.location.href=window.location.href;
});
//On Page load 
$(document).ready(function () {
    if (sessionStorage.getItem('callRunMe')) {
        runMe();
        sessionStorage.removeItem('callRunMe');
    }
});

答案 1 :(得分:1)

runme放在$(document).ready内,只需使用location.reload()重新加载页面即可。使用localStorage确保只有在单击按钮时才会发生这种情况:

$(document).ready(() => {
    if (localStorage.getItem("clickedStart") runme();
});
$("#start").on("click", () => {
    localStorage.setItem("clickedStart", "true");
    location.reload();
});

答案 2 :(得分:1)

您可以在sessionStoragelocalStorage中设置一个标志,并在准备好文档后获取该标志。

var SOTRAGE_NAME = 'needRunme'

$('#start').click(function () {
  sessionStorage.setItem(SOTRAGE_NAME, true);
  runme();
});

$(document).ready(function(){
   var isNeedRunme = sessionStorage.getItem(SOTRAGE_NAME);
   if(isNeedRunme){
       runme();
   }
})