如何捕获iframe内部抛出的异常?

时间:2012-07-29 07:10:39

标签: javascript asp.net iframe frameset-iframe

如何捕获iframe中引发的异常?

这是我的代码:

父:

        iframe = document.createElement("iframe");
        iframe.src = "../a.aspx";
        iframe.style.display = "none";
        document.body.appendChild(iframe);

和a.aspx中的代码:

    protected void Page_Load(object sender, EventArgs e)
    {
            GenerateKey();
            //This function throws an exception, and I want to catch it in the parent window (javascript)
    }

我想在打开iframe并显示警告框的页面中捕获异常。 我尝试了iframe.contentWindow.onerror,但它没有用。

感谢您的帮助,

英巴尔。

1 个答案:

答案 0 :(得分:1)

交叉原点可能禁止您控制iframe。 在iframe页面中,您可以捕获其异常并调用父函数来显示它。

try{
//something
}catch(e){
   window.top.some_public_function(e);
   //window.parent.some_public_function(e) is also work
}