我有一个实时聊天应用程序构建,其中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;
};
效果很好。但是当我使用“停止”按钮时它也要求确认。
答案 0 :(得分:1)
您需要使用ExternalInterface
。在你的JavaScript中
代码添加此方法:
function unsetBeforeUnload(){
window.onbeforeunload = null;
}
现在在“停止”按钮的ActionScript代码中单击处理程序方法添加以下行:
ExternalInterface.call("unsetBeforeUnload");
这就是全部。您可能需要将此行添加到Flash对象中:<param name="allowScriptAccess" value="always" />
以防您现在没有。