我有一个包含通过 iframe 嵌入的 Youtube 视频的 div。
<div id="container">
<div id="video">
<iframe width="480" height="360" src="http://www.youtube.com/embed/LiyQ8bvLzIE" frameborder="0" allowfullscreen></iframe>
</div>
</div>
我通过 ajax 调用更改了#container 的内容
$.get(url, function(data) {
('#container').html(data);
}
现在我在 IE9 中收到以下错误:“SCRIPT5009:'_flash_removeCallback' 未定义”。
我尝试在 ajax 调用之前删除、删除...视频和/或 iframe,但这不起作用:
<script>
$('#video').html('')
</script>
<script>
$('#video').empty()
</script>
<script>
$('#video').remove()
</script>
<script>
$('#video iframe').attr('src', '')
$('#video').empty()
</script>
<script>
$('#video').hide()
$('#video iframe').attr('src', '')
$('#video').empty()
</script>
...
但现在我没主意了...
最佳答案
终于找到了解决方案。
我不知道您使用的是哪种服务器端语言,我使用的是 PHP。无论如何,如果浏览器是 IE9,则使用对象标记。
if (preg_match('/MSIE 9.0/', $_SERVER['HTTP_USER_AGENT'])) { /*for IE 9.0 generate with objace tag*/ ?>
<object type="application/x-shockwave-flash" data="VIDEO_URL">
<param name="movie" value="VIDEO_URL" />
</object>
<?php } else { /*rest of all browsers,in iframe*/ ?>
<iframe src="VIDEO_URL"></iframe>
<?php } ?>
简而言之,IE9 使用 object
标签,其他标签使用 iframe
。
关于javascript - 使用 Youtube iframe 删除 DOM 元素时未定义“__flash__removeCallback”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11543888/