问题
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