拦截页面退出除了从flash / as3中的按钮单击

时间:2013-06-10 13:10:49

标签: javascript actionscript-3 flash

我有一个实时聊天应用程序构建,其中Flash / Flex / AS3嵌入在一个简单的HTML页面中。

当用户点击某个链接或其他内容时,我想拦截页面退出并确认页面退出。

我的Flash应用程序中还有一个“停止”按钮,在完成聊天后会将用户重定向到另一个页面。

除了单击“停止”按钮之外,我如何拦截所有内容?

我现在有以下JavaScript:

window.onbeforeunload = function (e) {
  var message = "Really want to exit?",
  e = e || window.event;

  // For IE and Firefox
  if (e) {
    e.returnValue = message;
  }

  // For Safari
  return message;
};

效果很好。但是当我使用“停止”按钮时它也要求确认。

1 个答案:

答案 0 :(得分:1)

您需要使用ExternalInterface。在你的JavaScript中 代码添加此方法:

function unsetBeforeUnload(){
   window.onbeforeunload = null;
}

现在在“停止”按钮的ActionScript代码中单击处理程序方法添加以下行:

 ExternalInterface.call("unsetBeforeUnload");

这就是全部。您可能需要将此行添加到Flash对象中:<param name="allowScriptAccess" value="always" />以防您现在没有。

相关问题