国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - 透過jquery動態(tài)的設(shè)定video src的值無法播放影片?
過去多啦不再A夢
過去多啦不再A夢 2017-05-16 13:43:02
0
6
3021
<p id="video-box">
 <video style="object-fit: fill;width: 200px;height: 50px;" controls>
    <source src="">
  </video>
</p>
<a class="dj" href="javascript:;" src="http://www.w3school.com.cn/i/movie.mp4">點擊</a> 
*{padding:0;margin:0;}
#video-box{display:none;}
$(".dj").on("click", function() {
   var src = $(this).data("src");
   $("#video-box source").prop("src",src)
   $("#video-box").show();
});

demo在這裡https://jsfiddle.net/r9u1cn7o/
作一個透過點擊不同的標(biāo)籤彈出彈框播放相應(yīng)的視屏,但是透過jquery成功的給src賦值了,但是不知道為什麼播放不了?

過去多啦不再A夢
過去多啦不再A夢

全部回覆(6)
為情所困

透過 jQuery 確實是給 source 的 src 賦值成功,從調(diào)試來看,瀏覽器並沒有去發(fā)起請求去獲得相應(yīng)的視頻,而只是單純的將 a 標(biāo)籤的 src 中的值賦值給 source 了。

但是如果這麼做,瀏覽器就會去請求地址取得視訊檔案:

$(".dj").on("click", function() {
   var src = $(this).data("src"),
       sourceDom = $("<source src=\""+ src +"\">");
       
   $("#video-box video").append(sourceDom);
   $("#video-box").show();
   
   // 自動播放
   $("#video-box video")[0].play()
});

因此,可以推斷出來的是,當(dāng) video 中存在 source 標(biāo)籤的時候,瀏覽器渲染之後會自動去獲取地址,即便地址改變,瀏覽器也不會再去獲取地址。但透過動態(tài)的插入 source 標(biāo)籤的方式,可以觸發(fā)瀏覽器進行重排,從而去取得對應(yīng)位址的檔案來播放。

小葫蘆
<video>
    <source src="xxx.mp4"/>
    <source src="xxx.ogg"/>
</video>

source 裡的src 只會在渲染的時候被check 一次.
要動態(tài)調(diào)整src , 你應(yīng)該從video 入手, 改成這樣應(yīng)該就沒問題了
$("#video-box video").prop(" src",src)

為情所困

別用source標(biāo)籤,直接寫到video標(biāo)籤裡;另外用attr()吧。還有就是video標(biāo)籤的width和height別寫到style裡,拿出來~

習(xí)慣沉默

jsfidle不能嵌入影片. 換到本地就好了

曾經(jīng)蠟筆沒有小新

video標(biāo)籤支援的視訊格式有(1)H.264編碼的mp4檔案(2)webm(3)ogg 其他字尾的檔案因為專利等問題暫時不支持,可以考慮轉(zhuǎn)碼試試

我想大聲告訴你

加個play()事件就好了

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板