سلام HTMLAudioElement
https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement
برای مرورگر
این کلاس در مرورگر جوابگو هست اگر هم اجرا بشه در نهایت خروجی زیر رو به نمایش در میاره
به دو روش میشه صداش زد
new Audio()
new window.Audio()
در نهایت هم چنین چیزی بر میگردونه
<audio preload="auto"></audio>
@hesammousavi
من همین کدها رو دقیقا در vue مینویسم و بدون هیچ مشکلی اجرا میشن احتمالا مشکل از ناکست نظر شما چیه ؟
ناکست قسمت سمت سرور این رو نداره. باید شرط بزاری فقط سمت کلاینت اجرا بشه
if(process.client){
...
}
میتونید مقدار دهی اولیه نکنید و توی میدلور یا جای دیگه مقدار دهی کنید. برای مقدار دهی اولیه میتونید این کار رو بکنید
export default ()=>({
audio:process.client?new Audio():null
});
یعنی اگه سمت کلاینت بود مقدار بده و اگه نه نال بزار. میتونید نتیجه رو مساوی با یه ارو فانکشن بزارید که یه مقدار رو ریترن میکنه
سمت سرور اصلاً این وجود نداره. وقتی چیزی وجود نداره شما اجازه استفاده ندارید.
توضیح در سایت ناکست :
https://nuxtjs.org/faq/window-document-undefined/
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟