浏览代码

Don’t use ServiceWorker on iOS

RobinLinus 6 年之前
父节点
当前提交
eee098e723
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      client/scripts/ui.js

+ 3 - 1
client/scripts/ui.js

@@ -3,6 +3,7 @@ const $$ = query => document.body.querySelector(query);
 const isURL = text => /^((https?:\/\/|www)[^\s]+)/g.test(text.toLowerCase());
 window.isDownloadSupported = (typeof document.createElement('a').download !== 'undefined');
 window.isProductionEnvironment = !window.location.host.startsWith('localhost');
+window.iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
 
 class PeersUI {
 
@@ -457,7 +458,8 @@ document.copy = text => {
 }
 
 
-if ('serviceWorker' in navigator) {
+if ('serviceWorker' in navigator && !window.iOS) {
+    // SW on iOS is buggy. see: https://stackoverflow.com/questions/18103103/failed-to-load-resource-plugin-handled-load-on-ios
     navigator.serviceWorker
         .register('/service-worker.js')
         .then(serviceWorker => {