onerror(如果在iframe上使用)在ie中不起作用

时间:2012-03-05 08:20:31

标签: javascript html javascript-events mootools

我有一个页面,我使用iframe来显示PDF文档,如果pdf不可用,我想抛出错误事件。为此,我使用了onerror事件,它可以正常工作但是没有检测到错误事件。我使用mootools 1.1作为javascript库。

<html>
    <head>
        <script>
            var IframeHelper = (function () {
                return {
                    onLoaded: function (source) {
                        alert(source + ' loaded OK');

                /*    var get=document.getElementById('srcframe');
                      var gett=get.contentWindow.innerHTML;
                      if(gett!=null)
                      {
                      alert(gett + " content inside");
                      }
                      else
                      {
                        alert("some problme");
                      }
Added this because onerror was not launching for ie. So used this workaround
                */

                    },
                    onErrored: function (source) {
                        alert(source + ' failed to load');
                    }
                }
            }());
        </script>
    </head>
    <body>
        <iframe src="tst.pdf" id="srcframe" onload="alert('loads');IframeHelper.onLoaded(this.src);" onerror="alert('in');IframeHelper.onErrored(this.src);"></iframe>

    </body>
</html> 

1 个答案:

答案 0 :(得分:0)

这是常见问题。在ie8中,一个人无法访问另一个帧的错误。

Related question [SO]: Full callstack for multiple frames js on ie8