我使用 ajax 在页面加载时加载 youtube 视频
$(document).ready(function(){
$.ajax({
url : '/myurl',
type:"post",
data:{"d": $('#d_id').val()},
async:false,
success:function(data){
$('#container').html(data);
//data is an emebed string
//This is what i get from PHP page
/*<embed class="frame" width="850" scrolling="no" height="415" frameborder="0" src="http://www.youtube.com/embed/' . $k[0] . '?showinfo=1&modestbranding=1&autoplay=1&rel=0&iv_load_policy=3&cc_load_policy=1&loop=1&playlist=' . $k[0] . '&wmode=transparent" frameborder="0"" allowfullscreen="yes" wmode="Opaque"></embed> */
}
});
});
在除 IE 之外的所有浏览器中工作
根据屏幕截图,IM 收到错误“Math is undefined” 如果我将嵌入更改为 iframe,我会收到更严重的错误,例如“__flash__removecallback 未定义”..
更新
如果我使用 emebed 整个东西在 IE8 中不工作
有人帮助我 IE 快把我逼疯了
最佳答案
我终于明白了
在服务器端(即 Ajax 响应)
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 } ?>
关于javascript - “数学”是嵌入对象中的未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13023098/