Bagaimanakah saya boleh membuat butang main/jeda berfungsi dengan betul dalam Safari?
P粉323224129
P粉323224129 2023-09-06 12:21:22
0
1
814

Saya mempunyai situasi butang kecil yang berfungsi pada Chrome tetapi tidak pada Safari. Saya telah mencuba automain di tempat yang berbeza tetapi tidak berjaya. Apa yang saya hilang di sini? Sila ambil perhatian bahawa saya tidak mempunyai bunyi yang disiarkan dalam talian untuk dikongsi. Saya pada mulanya menggunakan fail bunyi yang dikodkan Base64. Jika saya dapat mencari yang lebih pendek, saya akan mengedit siaran ini, tetapi editor SO mengehadkan siaran saya untuk memasukkan yang ini.

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>音频播放和暂停</title>
  <link rel="stylesheet" href="styles.css">
</head>

<body>
  <audio id="audioElement" preload="auto">
    <source src="sound.mp3" type="audio/mpeg">
  </audio>
  <button id="playPauseButton" onmousedown="playAudio()" onmouseup="pauseAudio()" ontouchstart="playAudio()" ontouchend="pauseAudio()">播放/暂停</button>

  <script>
    function playAudio() {
      document.getElementById("audioElement").play();
    }

    function pauseAudio() {
      document.getElementById("audioElement").pause();
    }
  </script>
</body>

</html>

Berikut ialah pautan ke JS Fiddle jika ia membantu. terima kasih.

https://jsfiddle.net/anonymouspenguin/kevhq7x1/1/

P粉323224129
P粉323224129

membalas semua(1)
P粉659378577

Saya tidak pasti cara untuk nyahpepijat dalam Safari, tetapi dalam Google Chrome saya klik pada elipsis (ikon 3 titik menegak), pilih Tetapan, kemudian Alat Pembangun.

Pergi ke konsol > Kosongkan konsol >

Saya mendapat ralat ini. Kedua-dua sifat onmouseup dan ontouchpad dalam label butang anda bercanggah dengan sifat lain. Sila alih keluar mereka. Setelah main balik berfungsi dengan betul, cari ralat seterusnya dan teruskan.


Daripada meletakkan atribut dalam teg HTML butang, anda boleh mencuba ini:

const button = document.getElementById("playPauseButton");

button.addEventListener('mousedown', () => {
  document.getElementById("audioElement").play();
});

button.addEventListener('mouseup', function () {
  document.getElementById("audioElement").pause();
});
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan