سلام خدمت همه دوستان راکتی !
دوستان من یه مشکلی دارم توی رجیستر کردن سرویس ورکر توی pwa
وقتی ران میگیرم تا ببینم رجیستر شده یا نه با این خطا رو به رو میشم :
dont Activated: TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script.
اینم کد فعال کردن service worker من :
navigator
.serviceWorker
.register('/service-worker.js').then(registration => {
console.log('Service worker has been Activted :' , registration);
}).catch(err => {
console.log('dont Activated:' , err )
})
} else {
console.log('Servise workers not actived')
}
مشکل چیه ؟
دوستان حل شد مشکل لینک دهی دوباره بود دوبار لینک کرده بودم یک فایلو
خطا اینه :
dont Activated: TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script.
خوب از خطایی که داده معلومه دیگه فایل اسکریپت رو نمیتونه پیدا کنه
شاید پاسخ شما همینجا باشد
حلشو چیکار کنم ؟
دوستان حل شدن حالا برای درست کردن دکمه add to home screen موندم
این کد جاوااسکریپت منه :
let installPromptEvent;
window.addEventListener('beforeinstallprompt' , (event) => {
e.preventDefault();
console.log('before install prompt event')
installPromptEvent = event;
});
document.querySelector('.addtohomescreenbutton a').addEventListener('click' , (event) => {
e.preventDefault();
console.log(installPromptEvent);
if(installPromptEvent) {
installPromptEvent.prompt();
installPromptEvent.userChoice
.then((choiceResult) => {
if(choiceResult.outcome === 'accepted') {
console.log('User Accepted');
} else {
console.log('User dismissed');
}
installPromptEvent = null;
})
}
})
ارورمم اینه
Uncaught TypeError: Cannot read property 'addEventListener' of null
at
اینم اون لاین :
.addEventListener('click' , (event) => {
مشکلم چیه ؟
احمالا وقتی داری از document.querySelector استفاده میکنی هیچ المنتی رو پیدا نمیکنه بخاطر همینه که نمیتونه رویداد بهش اضافه کنه.
بابا داداش اخه چرا پیدا نمیکنه ؟
این اون تگی که باید پیدا کنه :
<a class="pwa-test" href="https://roocket.ir/test.html">Add</a>
اینم لیسنر :
document.querySelector('.pwa-test').addEventListener('click' , (e) => {
اخه مشکل چیه ؟ کلاسا که یکیه پس چرا پیدا نمیکنه ؟ تازه از تگ div هم در اوردمش ولی باز پیدا نمیکنتش لینک کردم فایلامو بهم
@hesammousavi یه کمکی بکن
من هم به این مشکل برخورد کردم ، ولی مشکلم این بود که به کوچک و بزرگ بودن حروف دقت نکرده بودم و روی لوکال به درستی کار می کرد اما وقتی بردم رو هاست فایل رو پیدا نمی کرد...
@mohsenja588
برای درست کردن دکمه add to home screen
کدهایی که نوشتید در کدام فایل و کجا می نویسید
ایا باید در فایل service-worker.js بنویسیم یا در خود فایل index
و سوال بعدی اینکه
<a class="pwa-test" href="test.html">Add</a>
این دکمه رو باید در کدام قسمت بنویسیم
ممنون