Flex Air HTML(收听javascript警报并绕过它)

时间:2012-06-12 11:13:25

标签: flex actionscript adobe action

我从htmlloader获取文档java脚本对象,如下所示。

var document = htmlloader.window.document; 
var btn:Object = document.getElementById('btn_id');

然后我有一个像这样使用getElementById的按钮。那个btn有一些验证,我自动用一些数据调用它并像这样调度事件。

var evt:Object = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, htmlLoader.window, 
        0, 0, 0, 0, 0, false, false, false, false, 0, null);
btn.dispatchEvent(evt);

有时发生错误并且Java Script警报到来并停止执行,当我点击该警报Ok按钮时它会正常执行。 我只需绕过该警报或收听该警报,以便我可以显示我自己的Flex相关弹出窗口或类似的东西。 任何机构都有任何想法......?

1 个答案:

答案 0 :(得分:0)

首先,我会尝试调试代码,看看为什么会抛出错误?您是否将正确的数据类型传递到initMouseEvent方法中?

否则:

尝试在调度事件时添加try catch块,然后在错误处理中显示flex弹出窗口。

var evt:Object = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, htmlLoader.window, 
        0, 0, 0, 0, 0, false, false, false, false, 0, null);
try{
   btn.dispatchEvent(evt);
}
catch(e){
   //handle error - show flex alert
}

http://www.w3schools.com/js/js_try_catch.asp