Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行后退按钮';警告';在Flex中使用的Javascript_Javascript_Flash_Apache Flex_Back Button - Fatal编程技术网

执行后退按钮';警告';在Flex中使用的Javascript

执行后退按钮';警告';在Flex中使用的Javascript,javascript,flash,apache-flex,back-button,Javascript,Flash,Apache Flex,Back Button,我有一个Flex应用程序,如果用户点击后退按钮,我想给他们一个警告,这样他们就不会错误地离开应用程序。我知道由于跨浏览器不兼容,不能完全在Actionscript中完成这项工作。我正在寻找的只是一个Javascript实现来捕捉后退按钮 是否有人有一个简单的非库跨浏览器脚本来捕捉后退按钮?我似乎找不到显示示例的帖子。您可以使用窗口。onbeforeunload事件 window.onbeforeunload = function () { return "Are you sure you

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


是否有人有一个简单的非库跨浏览器脚本来捕捉后退按钮?我似乎找不到显示示例的帖子。

您可以使用
窗口。onbeforeunload
事件

window.onbeforeunload = function () {
   return "Are you sure you want to leave my glorious Flex app?"
}
用户可以按OK离开,按cancel留下

正如您所说的,这会在页面更改时引发警报。为了确保它只发生在点击后退按钮时,我们必须在他们从自然的、预期的来源离开页面时消除警告消息

var okayToLeave = false;

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

function OkayToLeave() {
    okayToLeave = true;
} 
当他们单击按钮或链接时,您将负责将变量设置为true,从而自然地从该页面获取他们。我会使用一个函数来实现不引人注目的javascript

将DOM中的事件处理程序设置为就绪:

referenceToElement.addEventListener('onClick', OkayToLeave(), false);

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

awesome!非常简单,谢谢。我将回答实现是否有效。看起来这适用于所有URL更改。我只需要它为后退按钮工作。知道怎么做吗?后退按钮本身不会引发事件。我将更新我的黑客解决方案。+1:onbeforeunload是唯一的选项不幸的是,您可以使用OkayToLeave禁用页面内链接和按钮的警告,但是任何浏览器触发的卸载都将触发onbeforeunload,而您无法拦截它(后退/前进/刷新/关闭/调用书签/输入新URL)。