在Javascript中实现后退按钮"警告"以在Flex中使用

waj*_*jiw 2 javascript apache-flex flash back-button

我有一个Flex应用程序,如果他们点击后退按钮,我想给用户一个警告,这样他们就不会错误地离开应用程序.我知道由于跨浏览器不兼容,这不能完全在Actionscript中完成.我正在寻找的只是Javascript实现来捕获后退按钮.

有没有人有一个简单的非库跨浏览器脚本来捕获后退按钮?我似乎无法找到一个显示示例的帖子.

Chu*_*ebs 5

您可以使用该window.onbeforeunload活动.

window.onbeforeunload = function () {
   return "Are you sure you want to leave my glorious Flex app?"
}
Run Code Online (Sandbox Code Playgroud)

用户可以按好,离开,取消留下.

如您所述,这会在页面更改时随时发出警报.为了确保它只发生在后退按钮上,我们必须在它们从自然的预期来源离开页面时消除警报消息.

var okayToLeave = false;

window.onbeforeunload = function () {
   if (!okayToLeave) {
   return "Are you sure you want to leave my glorious Flex app?"
   }
}

function OkayToLeave() {
    okayToLeave = true;
} 
Run Code Online (Sandbox Code Playgroud)

每当他们点击一个按钮或链接时,你就有责任将变量设置为true,这将自然地从该页面获取它们.我会使用一个不引人注目的javascript函数.

在DOM中设置事件处理程序:

referenceToElement.addEventListener('onClick', OkayToLeave(), false);
Run Code Online (Sandbox Code Playgroud)

这是未经测试的,但应指向正确的方向.尽管这样做看起来很麻烦,但我认为它的功能更完整.它涵盖了用户可以单击收藏夹或从外部应用程序重定向的情况.