问题
I can't use any solutions that involve creating a <script> tag dynamically because document does not exist in a ServiceWorker context.
In this case I want to load analytics toolkit so I can track when SW-triggered Notifications are interacted with by the user.
Any ideas?
回答1:
That sounds like the intended use case of the importScripts() method.
The imported script shares the global scope with your service worker, so modifying self via, e.g., self.addEventListener() or self.someIdentifier = 'blah' will have the same effect as it would from within the main service worker script.
来源:https://stackoverflow.com/questions/36251929/how-to-load-javascript-file-in-a-service-worker-dynamically