關於embed的一些使用兼容


因公司需求,要做一個掃描語音播報的功能,所以用到一些音頻/視頻標簽

考慮到   <embed>   標簽對於ie的兼容性更好一些所以,我在這采用了   <embed>   標簽,在使用中遇到的一些問題和處理方法,如有不對的地方和可以改進的地方歡迎指教

問題1:在使用<embed>  標簽使用中發現在其屬性autoplayLoop屬性在谷歌內核的瀏覽器

  <embed id="devUnknown" src="'+_src+'" width="0" height="0" loop="false" autostart="true"/>是未能控制音頻就緒后是否播放,在谷歌內核瀏覽器中即使autostart='false'音頻仍然會自動播放

  在網上有人提供出一種說在谷歌下autostart="0"或"1"可替代true跟false但我測試過發現然並卵,在谷歌下並發生變化,后續還根據網上遇到這個問題的小伙伴提供的方法發現並未適用,所以最后下面方法代替

1 <audio  hidden="true" autoplay="true" loop="true">
2   <source id="devUnknown" src="https://www.toonies.cn/Public/static/mp3/unsale.mp3" type="audio/ogg">
3   <source src="https://www.toonies.cn/Public/static/mp3/unsale.mp3" type="audio/mpeg">
4   您的瀏覽器不支持 audio 元素。
5 </audio>

 

 

 2.<embed/>無法檢測到音頻/視頻是否播放結束,同時如果我中途更換了<embed/>標簽的src也會導致<embed/>不能再次進行播放,在w3c內和網上找了一段時間發現並沒有直接再次啟動的辦法(火狐下可以做到更換src后切換音頻/視頻內容),則采用了下面的方法代替

 

1 function voice(_src){
2     /*_src為音頻要播放的路徑*/
3     var _html = '<embed id="devUnknown" src="'+_src+'" width="0" height="0" loop="false" autostart="true"/>';
4     if($('embed').attr('id')=='devUnknown'){
5         //二次啟動時刪除原來的embed
6         $('embed').remove();
7     }
8     $('body').append(_html);
9 };

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM