首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在iframe曲面中获取JavaScript异常

在iframe曲面中获取JavaScript异常
EN

Stack Overflow用户
提问于 2009-03-31 06:11:44
回答 1查看 1.9K关注 0票数 2

情况如下:

  • A page (iframe.html)有一个iframe加载另一个页面时可能会发生JavaScript错误。
  • 我希望浏览器可以看到这个异常(例如,在Firefox控制台或Firebug中显示)。

以下是我所看到的:

Firebug.

  • However,中显示的JavaScript异常(如果页面加载在JavaScript (document.getElementById('iframe').src = 'iframe-content.html')中),则该异常不会显示.

您可以通过以下步骤复制这一结果:

  1. http://avernet.googlepages.com/iframe.html with Firefox.
  2. You'll将异常视为按钮上的loaded.
  3. Click : iframe的内容再次加载,但这次该异常没有显示在Firebug.

中。

在#3有什么方法可以显示异常,而不是默默地忽略它呢?(您不能在设置src的JS代码周围使用try/catch,因为这段代码将在页面加载到iframe之前立即返回。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-03-31 06:21:17

似乎您的iframe页面并没有在第二次加载。或者它是从缓存加载的,错误将被忽略。这很有趣,但我想我找到了绕过它的方法。

代码语言:javascript
代码运行次数:0
运行
复制
function setContent() {
    try {
        console.log("Loading iframe content");
        document.getElementById('iframe').src = 'iframe-content.html?foo=bar';
    } catch (e) {
        console.log("Caught", e);
    }
    console.log("Done loading");
}

这样,错误就会出现。

我所做的就是欺骗浏览器,让它认为在url改变后,我正在加载一个全新的页面作为参数。

代码语言:javascript
代码运行次数:0
运行
复制
'iframe-content.html?foo=bar';

您可以用更改的时间戳替换我的"bar“字符串。当然,它可以避免缓存,但也会强制它按照您的意愿生成错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/700208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档