我刚刚开始涉足 PWA 领域,并开始在我正在构建的网站上使用 manifest.json。我的目标是让它全屏打开。
我在 iOS 上遇到了一些非常奇怪的行为。
我将 PWA 很好地添加到了主屏幕,它正确地使用了清单指定的短名称。但是当我试图打开它时,事情就出轨了。该应用程序似乎尝试根据清单以全屏方式加载,但随后停止,该网站改为在新的 Safari 选项卡中打开两次。我有两个新选项卡都指向 PWA 的 URL。
有谁知道是什么导致了这种奇怪的行为?
我刚刚开始涉足 PWA 领域,并开始在我正在构建的网站上使用 manifest.json。我的目标是让它全屏打开。
我在 iOS 上遇到了一些非常奇怪的行为。
我将 PWA 很好地添加到了主屏幕,它正确地使用了清单指定的短名称。但是当我试图打开它时,事情就出轨了。该应用程序似乎尝试根据清单以全屏方式加载,但随后停止,该网站改为在新的 Safari 选项卡中打开两次。我有两个新选项卡都指向 PWA 的 URL。
有谁知道是什么导致了这种奇怪的行为?
希望这对你来说还不算太晚。
我遇到了同样的问题,我意识到这是当然manifest link tag
的 header
:
<link id="manifest_link" rel="manifest" href="/manifest.json">
一旦你有了这个,任何来自你的 PWA 的链接或重定向都会启动 Safari,无论是内部链接还是外部链接。
javascript
一种解决方案是在加载文件后从标题中删除链接:
var manifestlink = document.getElementById("manifest_link");
document.head.removeChild(manifestlink);
但是,这可能会导致一些问题android
。您必须彻底测试您的场景。