如何在JavaScript中重新加载页面后显示警告?

时间:2013-08-01 05:57:05

标签: javascript jquery

我试图在页面重新加载后制作警报框,但它不起作用 请更正我的代码并告诉我原因?

$("button").click(function(){
    window.location.reload();
    alert("Hello world");
});

5 个答案:

答案 0 :(得分:14)

您可以使用sessionStorage

$( "button" ).click( function () {
        sessionStorage.reloadAfterPageLoad = true;
        window.location.reload();
    } 
);

$( function () {
        if ( sessionStorage.reloadAfterPageLoad ) {
            alert( "Hello world" );
            sessionStorage.reloadAfterPageLoad = false;
        }
    } 
);

答案 1 :(得分:1)

这叫做onload。在DOM准备就绪之前,它已经出现了,并且实际创建了DOM,因为onload等待图像的确切原因。

window.onload = function () { 
    alert("It's loaded!");
    //dom not only ready, but everything is loaded
}

jQuery Javascript解决方案是绑定document.ready()中的window.onload事件。

$(window).bind("load", function() {
   // code here
});

答案 2 :(得分:0)

在链接href中使用?reload字符串执行此操作的一些脏方法,如php中的request.GET

<a class="button" href="?reload/">reload and alert</a>
<script type="text/javascript">         
    args = location.search.substr(1);
    if (args=='reload/')alert('page reloaded');  
</script>

答案 3 :(得分:0)

步骤1:使用ok按钮编写自己的警报弹出功能(我创建了参数化函数,接受消息,警报类型,方法名称。

  

function AlertMessageOk(str,alertType,method)
  {

     $('#AlertMessage .divDialogElements').empty();

     $('#AlertMessage .divDialogElements').append(msg);

     if (alertType == "success") {
         $('#AlertMessage #modalAlertHeaderTitle').html("Success");
         $('#AlertMessage #modalAlertHeaderTypeClass').attr("class", "modal-header alert-success");
     }
     else if (alertType == "error") {
         $('#AlertMessage #modalAlertHeaderTitle').html("Error");
         $('#AlertMessage #modalAlertHeaderTypeClass').attr("class", "modal-header alert-danger");
     }
     else if (alertType == "info") {
         $('#AlertMessage #modalAlertHeaderTitle').html("Status");
         $('#AlertMessage #modalAlertHeaderTypeClass').attr("class", "modal-header alert-info");
     }
     else if (alertType == "warning") {
         $('#AlertMessage #modalAlertHeaderTitle').html("Warning");
         $('#AlertMessage #modalAlertHeaderTypeClass').attr("class", "modal-header alert-warning");
     }

     $('#AlertMessage #btnAlertOk').attr("onclick", method);

     $('#AlertMessage').modal('show');
 }

第2步:在你的ajax response.result == true上调用AlertMessageOk函数。我已经将方法名称传递给重新加载页面。

  

function buttonActivate_onClick(storeID){

     $.ajax({
         type: "POST",
         url: "/configuration/activateStore",
         timeout: 180000,
         data: { StoreID: storeID },
         success: function (response) {
             if (response.result == true) {
                 AlertMessageOk("Store configuration for Store ID " + storeID + " is successfully activated.", "success", "reloadPage();");
             }
         },
         error: function (xhr, textstatus) {
             AlertMessage("Error:   " + xhr.statusText + "  [" + xhr.status + "]", "error");

         }
     });
     $('#wait_load').css("display", "none");
 }


 function reloadPage() {
   location.reload();        
 }

答案 4 :(得分:0)

许,旧帖子。但是,我也在寻找一种解决方案,可在woocommerce管理员订单中单击订单保存按钮时在重新加载后添加脚本。我认为这是一种使用sessionStorage的好方法,而不是一些挂钩。感谢Akhil睁开眼睛。也许有人也在看

jQuery('.button.save_order.button-primary').click(function() {

            sessionStorage.setItem('save_order',true);

});

jQuery( function () {
        if ( sessionStorage.getItem('save_order') ) {
                alert( "Hello world" );
                sessionStorage.removeItem('save_order');
            }
});