我试图在页面重新加载后制作警报框,但它不起作用 请更正我的代码并告诉我原因?
$("button").click(function(){
window.location.reload();
alert("Hello world");
});
答案 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');
}
});