Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengubah Sumber Video Secara Dinamik dalam HTML5 tanpa Isu Keserasian Penyemak Imbas?

Bagaimana untuk Mengubah Sumber Video Secara Dinamik dalam HTML5 tanpa Isu Keserasian Penyemak Imbas?

Susan Sarandon
Lepaskan: 2024-11-23 07:34:14
asal
1058 orang telah melayarinya

How to Dynamically Change Video Sources in HTML5 without Browser Compatibility Issues?

Menukar Sumber Video Secara Dinamik dalam HTML5

Penerangan Masalah

Apabila cuba menukar sumber video secara dinamik dalam HTML5

Penyelesaian

Untuk mengatasi masalah ini, pertimbangkan pendekatan berikut yang menggunakan fungsi canPlayType():

const video = document.getElementById('video');

function changeSource(newUrl) {
  // Remove existing `<source>` tags
  while (video.children.length > 0) {
    video.removeChild(video.children[0]);
  }

  // Create a new `<source>` tag with the new URL
  const source = document.createElement('source');
  source.src = newUrl;

  // Determine the appropriate MIME type using `canPlayType()`
  const mimeType = video.canPlayType('video/mp4') ? 'video/mp4' : 'video/webm';
  source.type = mimeType;

  // Append the new `<source>` tag to the video element
  video.appendChild(source);

  // Reload the video
  video.load();
  video.play();
}
Salin selepas log masuk

Penjelasan

Penyelesaian ini melibatkan mengalih keluar teg, mencipta yang baharu dengan URL yang dikehendaki dan menentukan jenis MIME yang sesuai menggunakan canPlayType(). Sumber baharu kemudiannya dilampirkan pada elemen video dan video dimuatkan semula. Pendekatan ini berfungsi dengan berkesan dalam kedua-dua Chrome dan Firefox.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Sumber Video Secara Dinamik dalam HTML5 tanpa Isu Keserasian Penyemak Imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan