2012-04-05 3 views
0

Я работал над загрузчиком для видео Youtube с помощью swfobject. Используемый плагин: jQuery 1.6.4 + SWFobject 2.2Ошибка IE8: скрипт innerhtml load

Все работает отлично на IE8! это врезаться в script.innerHTML ...

<div id"youtube"><div id="player"></div></div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

SCRIPT

function loadYoutube(videoID) 
{ 
var script = document.createElement("script"); 
script.type = "text/javascript"; 
document.getElementById("youtube").appendChild(script); 
script.innerHTML = 'var params = { allowScriptAccess: "always", wmode: "transparent", allowfullscreen:"true" }; var atts = { id: "player" }; swfobject.embedSWF("http://www.youtube.com/v/'+videoID+'?enablejsapi=1&playerapiid=ytplayer&version=3", "player", "870", "550", "8", "flash/expressInstall.swf", null, params, atts);'; 
} 
loadYoutube('BoEKWtgJQAU')​​​;​ 

Любые идеи? Thanks

ответ

1

IE8 (и IE7, я считаю), имеет проблемы с innerHTML и сбой, если вы попытаетесь использовать его таким образом. У меня была аналогичная проблема и она была решена с использованием .text вместо .innerHTML.

Поскольку это только проблема IE8/IE7, вы должны ввести некоторую логику для тестирования IE8/IE7 и использовать .text вместо .innerHTML. Я использую JQuery так был в состоянии проверить на IE8, как это:

if ($.browser.msie && parseInt($.browser.version, 10) === 8) { 
    script.text = 'var params = { allowScriptAccess: "always", wmode: "transparent", allowfullscreen:"true" }; var atts = { id: "player" }; swfobject.embedSWF("http://www.youtube.com/v/'+videoID+'?enablejsapi=1&playerapiid=ytplayer&version=3", "player", "870", "550", "8", "flash/expressInstall.swf", null, params, atts);'; 
} else { 
    script.innerHTML = 'var params = { allowScriptAccess: "always", wmode: "transparent", allowfullscreen:"true" }; var atts = { id: "player" }; swfobject.embedSWF("http://www.youtube.com/v/'+videoID+'?enablejsapi=1&playerapiid=ytplayer&version=3", "player", "870", "550", "8", "flash/expressInstall.swf", null, params, atts);'; 
} 

Если вы не используете JQuery, есть много примеров, которые там показывают, как для проверки различных версий браузера.

 Смежные вопросы

  • Нет связанных вопросов^_^