这个简单的代码在 FF 和 Chrome 中运行良好...但在 IE8 中不行:
var pathtop = $('#autoplay').find('embed').attr('src');
pathtop = pathtop.replace('http://www.youtube.com/v/', '');
给予:
'undefined' is null or not an object error on line 2
我也尝试过这样的事情:
pathtop = pathtop.replace('', '');
同样的错误!
我在这个项目中使用 jQuery。
最佳答案
IE 上的 pathtop 很可能为 null,因为 jquery find/attr 链失败。将其分成几个部分,并找出哪一层($('#autoplay')、.find()
或 .attr()
返回 null。
即兴猜测 - IE 忽略嵌入标签而支持 <object>
,因此 DOM 树中没有嵌入。并且您正在尝试获取不存在的 dom 对象的 src,从而使 pathtop 为 null,这意味着没有可用的替换方法。
关于JavaScript字符串替换IE问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558279/