如何挂接aspx页面上的默认beforeunload事件?
我有一个自定义Web部件放置在SharePoint中的应用程序页面之一。这个页面似乎已经有一个函数,它可以在unload javascript事件之前在windows上执行。如何挂接aspx页面上的默认beforeunload事件?
我的问题是,我也需要执行一些客户端代码(以提示用户在我的web部分中的任何未保存的更改)在windows beforeunload事件。
我该如何做到这一点?我的意思是让默认事件被触发以及调用我的函数呢?
感谢任何帮助。
Nikhil。
回答:
这应该是可能的,方法是检查分配给onbeforeunload
事件的现有处理程序,如果存在,则在用自己的处理程序替换之前保存对其的引用。
Web部件可能会发出以下脚本输出做到这一点:
<script type="text/javascript"> // Check for existing handler
var fnOldBeforeUnload = null;
if (typeof(window.onbeforeunload) == "function") {
fnOldBeforeUnload = window.onbeforeunload;
}
// Wire up new handler
window.onbeforeunload = myNewBeforeUnload;
// Handler
function myNewBeforeUnload() {
// Perform some test to determine if you need to prompt user
if (unsavedChanges == true) {
if (window.confirm("You have unsaved changes. Click 'OK' to stay on this page.") == true) {
return false;
}
}
// Call the original onbeforeunload handler
if (fnOldBeforeUnload != null) {
fnOldBeforeUnload();
}
}
</script>
这应该让你注入自己的逻辑到页面,让你自己决定,以什么代码执行的页面卸载时。
以上是 如何挂接aspx页面上的默认beforeunload事件? 的全部内容, 来源链接: utcz.com/qa/266808.html