使用Youtube iframe删除DOM元素时,'__flash__removeCallback'未定义

Jer*_*Vdb 8 javascript youtube internet-explorer-9

我有一个带有通过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>
Run Code Online (Sandbox Code Playgroud)

我用ajax调用更改了#container的内容

$.get(url, function(data) {
    ('#container').html(data);
}
Run Code Online (Sandbox Code Playgroud)

现在我在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>

...
Run Code Online (Sandbox Code Playgroud)

但是现在我已经不在想了......

coo*_*guy 2

最后我得到了解决方案。

我不知道你用的是哪种服务器端语言,我用的是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 } ?>
Run Code Online (Sandbox Code Playgroud)

简而言之,使用objectIE9 和iframe其余标签。