Service Worker scope and SPA navigation











up vote
0
down vote

favorite












Let's say I load my website at https://example.com, and I register my Service Worker at /app.



I expect the SW to receive fetch events when I navigate to https://example.com/app.



However, if I navigate to /app with history.pushState, the SW doesn't receive fetch events. If I then reload the page at https://example.com/app, the SW does receive fetch events.



Does the SW scope not work for the History API?










share|improve this question




























    up vote
    0
    down vote

    favorite












    Let's say I load my website at https://example.com, and I register my Service Worker at /app.



    I expect the SW to receive fetch events when I navigate to https://example.com/app.



    However, if I navigate to /app with history.pushState, the SW doesn't receive fetch events. If I then reload the page at https://example.com/app, the SW does receive fetch events.



    Does the SW scope not work for the History API?










    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Let's say I load my website at https://example.com, and I register my Service Worker at /app.



      I expect the SW to receive fetch events when I navigate to https://example.com/app.



      However, if I navigate to /app with history.pushState, the SW doesn't receive fetch events. If I then reload the page at https://example.com/app, the SW does receive fetch events.



      Does the SW scope not work for the History API?










      share|improve this question















      Let's say I load my website at https://example.com, and I register my Service Worker at /app.



      I expect the SW to receive fetch events when I navigate to https://example.com/app.



      However, if I navigate to /app with history.pushState, the SW doesn't receive fetch events. If I then reload the page at https://example.com/app, the SW does receive fetch events.



      Does the SW scope not work for the History API?







      javascript service-worker






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 7 at 7:59

























      asked Nov 7 at 7:47









      Eric Guan

      7,20521526




      7,20521526
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          The fetch event handler in a service worker will only be invoked when there's a network request. Changing the URL using the History API doesn't trigger a network request.



          Reloading a page, or entering a new URL in the navigation bar and pressing Enter, does trigger a network request.






          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53185323%2fservice-worker-scope-and-spa-navigation%23new-answer', 'question_page');
            }
            );

            Post as a guest
































            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote













            The fetch event handler in a service worker will only be invoked when there's a network request. Changing the URL using the History API doesn't trigger a network request.



            Reloading a page, or entering a new URL in the navigation bar and pressing Enter, does trigger a network request.






            share|improve this answer

























              up vote
              0
              down vote













              The fetch event handler in a service worker will only be invoked when there's a network request. Changing the URL using the History API doesn't trigger a network request.



              Reloading a page, or entering a new URL in the navigation bar and pressing Enter, does trigger a network request.






              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                The fetch event handler in a service worker will only be invoked when there's a network request. Changing the URL using the History API doesn't trigger a network request.



                Reloading a page, or entering a new URL in the navigation bar and pressing Enter, does trigger a network request.






                share|improve this answer












                The fetch event handler in a service worker will only be invoked when there's a network request. Changing the URL using the History API doesn't trigger a network request.



                Reloading a page, or entering a new URL in the navigation bar and pressing Enter, does trigger a network request.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 8 at 21:18









                Jeff Posnick

                28k46091




                28k46091






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53185323%2fservice-worker-scope-and-spa-navigation%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest




















































































                    這個網誌中的熱門文章

                    Xamarin.form Move up view when keyboard appear

                    Post-Redirect-Get with Spring WebFlux and Thymeleaf

                    Anylogic : not able to use stopDelay()