2

我用来在我的网站上iframes添加Youtube/Vimeo视频。

这些iframes是使用jQuery's动态删除的$().remove()。虽然这适用于,但它在嵌入 Flash 元素通常保持可见的位置上Chrome/FF/Opera/Safari随机运行。IE10

我不知道如何解决这个问题IE10(我还没有在真正的IE9 上尝试过,但它在模拟IE9模式下也失败了)

该错误很容易重现:

<html>
<head>
    <script type="text/javascript" src="js/jquery-1.9.1.js"></script>
</head>
<body>
    <button id="remove">REMOVE</button>
    <iframe src="http://vimeo.com/moogaloop.swf?clip_id=64232781"></iframe>
    <script>$( "#remove" ).on( 'click', function(){ $( 'iframe' ).remove(); } );</script>
</body>
</html>

有趣的是,它在 IE7/8 浏览器模式下运行良好。

有没有人遇到过这个问题?

4

1 回答 1

3

我有同样的问题,但它与 iframe 中的 PDF 有关。该问题也仅存在于 IE10 的 10.0.9200.16540 版本中,而不存在于以前的版本中。

根据这个问题,原因很可能是无效标记。

到目前为止我所知道的:

  1. “一种解决方法是将父 iframe 的 src 值设置为空字符串”(根据上述问题)

  2. 隐藏 iframe.hide()之前.remove()

如果 iframe 没有真正从页面中删除,第二个选项可能不是最优雅的,但如果只是一个渲染问题,那将是最简单的。

如果我发现其他任何东西,我会更新这个答案。

于 2013-05-08T10:37:56.780 回答