Javascript 只需单击一次按钮即可重新加载页面一次

Javascript 只需单击一次按钮即可重新加载页面一次,javascript,Javascript,我有一个加载按钮,我在该按钮上调用onclick事件,它将使用window.location.reload()刷新页面。但是,我想要的是,重载应该只在第一次单击按钮时调用。从第二次单击到HTML页面处于活动状态,不应调用重载 如何使用javascript实现这一点?任何示例都会很有帮助。您需要在单击事件中的按钮标记上添加禁用属性 如果您使用的是jQuery,则类似于这样 $('button')。在('click',function()上({ …您的代码在这里 $(this.attr('dis

我有一个加载按钮,我在该按钮上调用onclick事件,它将使用
window.location.reload()
刷新页面。但是,我想要的是,重载应该只在第一次单击按钮时调用。从第二次单击到HTML页面处于活动状态,不应调用重载


如何使用javascript实现这一点?任何示例都会很有帮助。

您需要在单击事件中的按钮标记上添加禁用属性

如果您使用的是jQuery,则类似于这样

$('button')。在('click',function()上({
…您的代码在这里
$(this.attr('disabled');

})处理此问题的一种方法是更改onClick执行的操作。请尝试查看此处:

您可以尝试在第一次重新加载时发送一个参数,并使用该参数更改按钮的操作

比如:

<script>
function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  return false;
}
var secondReload= getQueryVariable("secondReload");
if(!secondReload){
 //if button clicked
 window.location.reload();
}else{
//deactivate button
}
</script>

函数getQueryVariable(变量){
var query=window.location.search.substring(1);
var vars=query.split(&);
对于(var i=0;i,您可以使用或来实现这一点。这是一种利用的现代方法

在这种情况下,您可以在存储器中设置一个属性来保持按钮单击,并且只有在尚未单击按钮时才进行刷新

可以按照以下代码段执行此操作:

$('button').on('click', function() {
    // will return null at the first call
    var buttonClicked = sessionStorage.getItem('isButtonClicked');

    // will only enter if the value is null (what is the case in the first call)
    if (!buttonClicked) {
        // set value to prevent further reloads
        sessionStorage.setItem('isButtonClicked', true);

        // reload the page
        window.location.reload();
    }
});

如果您想了解更多有关web存储API的详细信息,可以找到一个更详细的示例。

使用
本地/会话存储
使用cookies,可能吗?可以在不禁用按钮的情况下执行此操作。我阅读OP是因为他希望避免人们在重新加载按钮时双击按钮。因此,可以将其禁用。或者删除我他明确提到“从第二次单击到HTML页面激活,不应该调用重载”——因此按钮仍然可以单击,但不应该发生任何事情。