Добавление тега скрипта через javascript в DOM и установка ошибки src throws - PullRequest
0 голосов
/ 19 января 2012

Я пытаюсь добавить скрипт скрипт через 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 бросает

ошибка [ноль - ноль или не объект player.js]

Видео src является видео сервисом ooyala.

Есть ли какое-либо решение, как я могу добавить тег скрипта и установить его src (полученный из JSON).

1 Ответ

0 голосов
/ 25 января 2012

IE7 не выдает ошибку, когда player.js загружается со страницей, но он выдает, когда загружается динамически. Кроме того, если вы проигнорируете ошибку и дадите скрипту работать, плеер появится нормально. Если вы настаиваете на устранении ошибки, вы можете создать 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...