2012-07-23 78 views
0

我想在網站上使用MediaElement.js和一切工作偉大的每個瀏覽器,但IE瀏覽器,最具體的IE9(我不是太在意IE9以下支持時刻)。我已經動態地填充了我所閱讀的內容,可能會在IE中導致問題,但我不確定是否有解決方法。我這樣做的原因是因爲這是一個投資組合站點,所有項目數據都通過getJSON調用加載,並且一旦加載所有項目就會填充相應的數據並實時創建。有幾個視頻項目。我已經把代碼放到了我的項目之外的一個例子中,這個例子基本上經歷了同樣的行爲。如果我只是在JS中編寫HTML和控件,它可以工作,但是當我通過JS創建HTML然後嘗試播放時,我會得到錯誤日誌(在代碼中創建ME播放器時)。這裏是代碼:MediaElement.js動態內容不工作在IE9

$(function() { 
      var details = { 
        width: 640, 
        height: 480, 
        src: 'work/television/1' 
       }, 
       $body = $('body'), 
       $vid = $('<video width="' + details.width + '" height="' + details.height + '" preload="none" id="vidPlayer1"></video>'), 
       $mp4 = $('<source src="' + details.src + '.mp4" type="video/mp4" title="mp4">'), 
       $webm = $('<source src="' + details.src + '.webm" type="video/webm" title="webm">'), 
       $ogg = $('<source src="' + details.src + '.ogv" type="video/ogg" title="ogg">'), 
       $flash = $('<object width="' + details.width + '" height="' + details.height + '" type="application/x-shockwave-flash" data="swf/flashmediaelement.swf"><param name="movie" value="swf/flashmediaelement.swf"><param name="flashvars" value="controls=true&file=' + details.src + '.mp4"></object>'), 
       $error = $('<p>The available video formats are not supported by your browser. :(</p>'), 
       $controls = $('<div class="videoControls playBtn"></div>'); 

      $body.append($controls); 

      $vid.append($mp4); 
      $vid.append($webm); 
      $vid.append($ogg); 
      $vid.append($flash); 
      $vid.insertAfter($controls); 

      var vidPlayer = new MediaElementPlayer('#vidPlayer1', { 
       features: [], 
       // mode: 'shim', 
       pluginPath: 'swf/', 
       success: function(mediaElement) { 
        console.log('success', mediaElement); 
       }, 
       error: function() { 
        console.log('Error loading player. Please try again.'); 
       } 
      }); 

      $body.on('click', function(evt) { 
       vidPlayer.play(); 
      }); 
     }); 

任何幫助將非常感激。

回答

0

問題解決了。有興趣的人士,不得不追加我的合併成一個呼叫所以$ VID成爲:

$vid = $('<video width="' + details.width + '" height="' + details.height + '" preload="none" id="vidPlayer-' + row + '-' + slide + '"><source src="' + details.src + '.mp4" type="video/mp4" title="mp4"><source src="' + details.src + '.webm" type="video/webm" title="webm"><source src="' + details.src + '.ogv" type="video/ogg" title="ogg"><p>The available video formats are not supported by your browser. :(</p></video>') 

只是不得不把它們都放在一個聲明,IE9的認可正確。這個問題是通過附加的,因爲我在做源變量永遠不會被追加,因此IE不知道我的視頻來源是什麼。

希望這可以幫助未來的人。