Capacitor x Svelte on Ios 时按钮响应时间变慢
Slow button response time with Capacitor x Svelte on Ios
我尝试使用 Capacitor 和 Svelte 创建一个入门应用。一切正常,除了一件事,当我使用本机 html 锚点(带有 svelte-routing)进行导航时,对用户交互的响应时间很慢,可能在应用程序对我的 Iphone 13 pro 做出反应之前 400 毫秒(真实设备)Ios 15. 我的启动器上的原生 html 按钮也有同样的问题。
如果我做错了什么,你能告诉我吗?
初学者回购 -> https://github.com/flameapp-io/svelte-capacitor-tailwind-starter
我的导航组件:
<script lang="ts">
import ThemeSwitch from '$lib/ThemeSwitch.svelte';
import { Link } from 'svelte-routing';
type NavLink = {
name: string;
url: string;
};
const navLinks: Array<NavLink> = [
{
name: 'Home',
url: '/'
},
{
name: 'Example',
url: 'example'
}
];
</script>
<nav class="flex items-center">
{#each navLinks as link}
<Link to={link.url} class="mx-5">{link.name}</Link>
{/each}
<ThemeSwitch />
</nav>
我已经通过添加以下内容解决了这个问题:
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
在我的index.html
编辑
Safari 会自动引入 300 毫秒的延迟,以解决用户可能双击页面以放大的问题。如果您在 index.html 的头部包含适当的视口元,则不需要这样做。
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
如果提供此视口,Safari 将不会在 click/tap 中引入延迟。这是对解决此问题的 Safari issue 的引用。
我尝试使用 Capacitor 和 Svelte 创建一个入门应用。一切正常,除了一件事,当我使用本机 html 锚点(带有 svelte-routing)进行导航时,对用户交互的响应时间很慢,可能在应用程序对我的 Iphone 13 pro 做出反应之前 400 毫秒(真实设备)Ios 15. 我的启动器上的原生 html 按钮也有同样的问题。
如果我做错了什么,你能告诉我吗?
初学者回购 -> https://github.com/flameapp-io/svelte-capacitor-tailwind-starter
我的导航组件:
<script lang="ts">
import ThemeSwitch from '$lib/ThemeSwitch.svelte';
import { Link } from 'svelte-routing';
type NavLink = {
name: string;
url: string;
};
const navLinks: Array<NavLink> = [
{
name: 'Home',
url: '/'
},
{
name: 'Example',
url: 'example'
}
];
</script>
<nav class="flex items-center">
{#each navLinks as link}
<Link to={link.url} class="mx-5">{link.name}</Link>
{/each}
<ThemeSwitch />
</nav>
我已经通过添加以下内容解决了这个问题:
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
在我的index.html
编辑
Safari 会自动引入 300 毫秒的延迟,以解决用户可能双击页面以放大的问题。如果您在 index.html 的头部包含适当的视口元,则不需要这样做。
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
如果提供此视口,Safari 将不会在 click/tap 中引入延迟。这是对解决此问题的 Safari issue 的引用。