gpt4 book ai didi

javascript - 在 IE 中的不同窗口上执行 try/catch

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:06:07 25 4
gpt4 key购买 nike

考虑一个包含 iframe 的页面。 iframe 的内容可能如下所示

<script type="text/javascript">
window.foo = function () {
nonExisting();
};
window.bar = function () {
throw "An error!";
};
</script>

现在,我想执行这样的操作:

try {
iframe.contentWindow.foo();
} catch (e) { console.log('ok'); }

try {
iframe.contentWindow.bar();
} catch (e) { console.log('ok'); }

这是我得到的:

  • Chrome/Firefox/Opera - 'ok', 'ok'
    (预期行为)
  • IE8 - “预期对象”错误,未捕获异常

WTF 是怎么回事?当我使用 try/catch block 时,这怎么可能是未捕获的异常?那是一个错误吗?或者规范中是否有任何内容允许这种行为?
最重要的是:我能让它正常工作吗?

最佳答案

那是因为你打错了:“一个错误”!

如果我在模拟 IE8 的 IE9 上运行时没有那个拼写错误,它会工作:http://jsfiddle.net/vsSgE/3/ .

关于javascript - 在 IE 中的不同窗口上执行 try/catch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7795377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com