我试图通过JS附加脚本标记并设置其src。以下是代码:
var myscript = document.createElement('script');
myscript.setAttribute('src', 'http://player.ooyala.com/player.js?playerId=player&width=320&height=240&embedCode=thbXMxMzpq0RhOS82Hzx1lma8UMnFN-3&callback=apicallback');
document.getElementById('curr-video').appendChild(myscript);
这样做现代浏览器FF,Chrome,Safari工作正常。
但IE8,7抛出
错误[null为null或不是对象player.js]
视频src
是ooyala视频服务。
是否有任何解决方案如何添加脚本标记并设置其src(从JSON检索)。
答案 0 :(得分:0)
当player.js加载页面时,IE7不会出错,但是当动态加载时它会发生错误。此外,如果您忽略错误并让脚本正常工作,则播放器会正常显示。如果你坚持要删除错误,你可以创建一个iframe并在其中加载一个player.html页面,这样你就可以在页面加载时运行你的player.js而没有错误。
<html>
<head>
<script type="text/javascript">
function createIframe (iframeName, width, height) {
var iframe;
if (document.createElement && (iframe = document.createElement('iframe'))) {
iframe.name = iframe.id = iframeName;
iframe.width = width;
iframe.height = height;
iframe.frameBorder = "0";
iframe.style.border = "none";
iframe.src = 'about:blank';
document.body.appendChild(iframe);
}
return iframe;
}
function load_item() {
var iframe = createIframe ('iframe0', 320, 240);
if (iframe) {
iframe.src = "player.html";
}
}
</script>
</head>
<body>
<a onclick="load_item();">click to load</a>
</body>
</html>
这是player.html:
<html>
<body style="margin: 0px; padding: 0px;">
<script src="http://player.ooyala.com/player.js?........."></script>
</body>
</html>