js阻止页面刷新

JavaScript014

js阻止页面刷新,第1张

网页中用户的表单填写到一半,或者ajax请求发送期间,如果用户刷新浏览器可能会导致数据保存失败。需要阻止页面刷新,这时可以通过监听页面window.onbeforeunload事件函数来处理。

window.onbeforeunload = function(e) {

var dialogText = 'Dialog text here'

e.returnValue = dialogText

return dialogText

}

不过chrome不支持自定义显示文字,固定为

“要重新加载该网站吗?

系统可能不会保存您所做的修改”

而firefox和safari就会正常使用return value里面的文字

参考:

-- https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload#Browser_compatibility

“无刷新页面”,只是一种不确切的效果描述(其实还有其他各种方法来实现这个效果),更确切的说是在页面上用JavaScript调用服务器端的一个方法,然后处理返回的数据。实现它最标准的方法当然是XMLHTTP。

ASP.NET 2.0里面,我们可以轻松的来做到这点了。服务器端任何实现了System.Web.UI.ICallbackEventHandler接口的控件,都可以通过RaiseCallbackEvent()方法来处理从页面上的JS脚本传递过来的请求和数据,处理后,再将结果传回给页面。这项能力的底层仍然是XMLHTTP。

ClientScript属性的作用是,它调用了页面的GetCallbackEventReference()方法,获得了让客户端有能力调用服务器端方法的JS脚本,并输出到页面的callToServer()方法中,这样,点击页面按钮时,就开始执行页面上包含了调用服务器方法的的callToServer()方法。

实现的方法和详细的操作步骤如下:

1、第一步,打开Chrome浏览器,然后单击“设置”选项,见下图,转到下面的步骤。

2、第二步,完成上述步骤后,拉到底部,然后单击“高级”选项,见下图,转到下面的步骤。

3、第三步,完成上述步骤后,单击“网站设置”选项,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,单击“

 JavaScript”选项,见下图,转到下面的步骤。

5、第五步,完成上述步骤后,打开“允许(推荐)”选项,然后刷新页面即可生效,见下图。这样,就解决了这个问题了。