![](/img/trans.png)
[英]service worker affecting non-GET requests when online - @angular/pwa
[英]Angular 9 PWA with Carousel and Service worker does not get registered
嘿伙計們,這是一個有點奇怪的情況,
首先,我使用 Angular 9 和 Bootstrap 3.3.5(還不能更新到最新版本),
在主頁上我有 Carousel,我也實現了 angular PWA。
問題是如果我使用 PWA 和輪播,Serviceworker(SW) 不會被重新注冊。 如果我注釋掉它的輪播代碼。 如果我評論 Jquery 它會被注冊,因為這樣輪播不起作用。 同樣的事情也發生在ngx-owl-carousel上,
我這里沒有任何解決方案。 如果您可以提供任何類型的提示或解決方案,那將是一個很大的幫助。 謝謝:) 有趣的發現是,當我單擊輪播時,有時服務人員會以某種方式注冊。 -_- 無論如何,這是我的輪播代碼,
<div class="bloc bgc-white full-width-bloc l-bloc" id="bloc-2">
<div class="container">
<div class="row row-no-gutters">
<div class="col-sm-12">
<div id="carousel-1" class="carousel no-shadows slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="item active">
<img [attr.src]="sliderData[0].sliderImgUrl" (click)="navigateSliderProd('product',sliderData[0])" (load)="imageLoaded($event)"/>
</div>
<div class="item" *ngFor="let slider of sliderData | slice:1;let i = index">
<img [attr.src]="slider.sliderImgUrl" (click)="navigateSliderProd('product',sliderData[i+1])" (load)="imageLoaded($event)"/>
</div>
</div>
<a class="left carousel-control" href="#carousel-1" role="button" data-slide="prev">
<span class="fa fa-chevron-left"></span><span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-1" role="button" data-slide="next">
<span class="fa fa-chevron-right"></span><span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
</div>
</div>
將ServiceWorkerModule
registrationStrategy
設置為registerImmediately
(或registerWithDelay
)。 默認情況下,軟件注冊等到應用程序穩定(沒有未完成的微任務或宏任務)。 輪播中常見的setTimeout
會導致應用程序永遠不穩定。
ServiceWorkerModule.register('ngsw-worker.js', {
enabled: environment.production,
registrationStrategy: 'registerImmediately',
}),
請注意,Angular 如果仍然不穩定,則在 30 秒后注冊,從而使此操作變得不必要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.