iOS detection
This commit is contained in:
parent
6a655c48d1
commit
3e77fdc4be
4 changed files with 33 additions and 13 deletions
|
|
@ -10,15 +10,6 @@
|
|||
<script src="/uv/uv.config.js" defer></script>
|
||||
<script src="/dynamic/dynamic.config.js" defer></script>
|
||||
<script src="/localforage/localforage.min.js" defer></script>
|
||||
<script defer>
|
||||
if ("serviceWorker" in navigator) {
|
||||
window.addEventListener("load", () => {
|
||||
navigator.serviceWorker.register("/sw.js", {
|
||||
scope: "/~/"
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body style="margin: 0">
|
||||
<div id="app"></div>
|
||||
|
|
|
|||
|
|
@ -12,6 +12,18 @@ import "./style.css";
|
|||
import "./i18n";
|
||||
|
||||
export default function Routes() {
|
||||
if ("serviceWorker" in navigator) {
|
||||
window.addEventListener("load", () => {
|
||||
navigator.serviceWorker
|
||||
.register("/sw.js", {
|
||||
scope: "/~/"
|
||||
})
|
||||
.then(() => {
|
||||
console.log("Service worker registered successfully");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return (
|
||||
<LocationProvider>
|
||||
<Router>
|
||||
|
|
|
|||
7
src/util/IosDetector.tsx
Normal file
7
src/util/IosDetector.tsx
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export function isIOS() {
|
||||
if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ import {
|
|||
SetTransport,
|
||||
registerRemoteListener
|
||||
} from "@mercuryworkshop/bare-mux";
|
||||
import { isIOS } from "./IosDetector";
|
||||
|
||||
function changeTransport(transport: string, wispUrl: string) {
|
||||
switch (transport) {
|
||||
|
|
@ -44,9 +45,18 @@ const wispUrl =
|
|||
location.host +
|
||||
"/wisp/";
|
||||
registerRemoteListener(navigator.serviceWorker.controller!);
|
||||
changeTransport(
|
||||
localStorage.getItem("transport") || "libcurl",
|
||||
localStorage.getItem("wispUrl") || wispUrl
|
||||
);
|
||||
|
||||
if (isIOS) {
|
||||
console.log("iOS device detected. Bare will be used.");
|
||||
changeTransport(
|
||||
localStorage.getItem("transport") || "libcurl",
|
||||
localStorage.getItem("wispUrl") || wispUrl
|
||||
);
|
||||
} else {
|
||||
changeTransport(
|
||||
localStorage.getItem("transport") || "bare",
|
||||
localStorage.getItem("wispUrl") || wispUrl
|
||||
);
|
||||
}
|
||||
|
||||
export { changeTransport, getTransport };
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue