【发布时间】:2023-03-12 11:35:01
【问题描述】:
我的 IOS(在 9.2 上测试)Web 应用程序(apple-mobile-web-app-capable)避免了<a href="xxx" />
链接并仅使用 Javascript 导航功能(如 windows.location.replace(url))导航到页面。
我的应用程序的根不是 www.xxx.com 而是 www.xxx.com/mysite。到 /mysite/xxx 的一些导航操作正在运行,但是到 /mysite/yyy 的其他导航会打开 Safari 窗口。
除了<a href="xxx" /> 链接之外,是否还有其他情况会导致 Web 应用在单独的 Safari 窗口中打开链接?
我不使用target 属性。我所有的链接看起来像
<a ng-click="vm.replace('/mysite/xxx') class="navbar-brand">Contact</a>
...
replace(url:string) {
this.$window.location.replace(url);
}
我还尝试了不同的变体(location.href = url、location = url),结果都相同。也许问题与 IOS 9.2 相关,我确信我在一个月前创建的 Web 应用程序中使用了相同的构造。
目标页面的内容是否可能导致此行为?从 /mysite/Home 导航到 /mysite/Media 有效,导航到 /mysite/EPG 会打开 Safari 浏览器。
也许浏览器缓存中有问题?所以我清除了缓存,但结果相同。
【问题讨论】: