我可以在不离开 Capacitor 应用程序的情况下导航到 Web 吗?
Can I navigate onto the web without leaving a Capacitor application?
我们有一个 Web 应用程序,其中 ADFS/GoogleId 登录工作流程通过重定向实现。我们的应用程序重定向到 ADFS 服务器,该服务器登录或验证用户,然后 links 回到我们的应用程序。这在 Ionic/Capacitor 中可以实现吗? This page 建议在浏览器中自动弹出导航离开您的应用程序,这就是我们看到的行为。
是否有某种方法可以将某些域注册为 'part of' Capacitor 应用程序,这样我们就可以在不离开 webview 的情况下进行导航?这意味着 return url 形式的“http://localhost”(或 ios 的 'capacitor://localhost')可以工作。
或者,如果浏览器接管 adfs 域,我如何构建一个指向 Capacitor 应用程序的 link?
您可以通过在 capacitor.config.json 文件
的 server
对象中添加 allowNavigation
来允许导航到某些网址
"server": {
// Capacitor to open URLs belonging to these hosts inside its WebView.
"allowNavigation": [
"example.org",
"*.example.org",
"192.0.2.1"
]
}
https://capacitor.ionicframework.com/docs/basics/configuring-your-app
您可以使用 浏览器 API[=29= 在所谓的 应用内浏览器 中打开 URL ](@capacitor/browser
插件):
- 电容器 2:https://capacitorjs.com/docs/apis/browser
- 电容器3(即将发布):https://capacitorjs.com/docs/v3/apis/browser
在 Android 这会打开一个 Chrome WebView, on iOS a SFSafariViewController,因此用户永远不会真正离开该应用程序,它是位于顶部的附加 Activity(或 ViewController)应用的导航堆栈。
插件说明中说:
The Browser API makes it easy to open an in-app browser session to show external web content, handle authentication flows, and more.
您也可以添加侦听器来侦听页面加载事件。
我们有一个 Web 应用程序,其中 ADFS/GoogleId 登录工作流程通过重定向实现。我们的应用程序重定向到 ADFS 服务器,该服务器登录或验证用户,然后 links 回到我们的应用程序。这在 Ionic/Capacitor 中可以实现吗? This page 建议在浏览器中自动弹出导航离开您的应用程序,这就是我们看到的行为。
是否有某种方法可以将某些域注册为 'part of' Capacitor 应用程序,这样我们就可以在不离开 webview 的情况下进行导航?这意味着 return url 形式的“http://localhost”(或 ios 的 'capacitor://localhost')可以工作。
或者,如果浏览器接管 adfs 域,我如何构建一个指向 Capacitor 应用程序的 link?
您可以通过在 capacitor.config.json 文件
的server
对象中添加 allowNavigation
来允许导航到某些网址
"server": {
// Capacitor to open URLs belonging to these hosts inside its WebView.
"allowNavigation": [
"example.org",
"*.example.org",
"192.0.2.1"
]
}
https://capacitor.ionicframework.com/docs/basics/configuring-your-app
您可以使用 浏览器 API[=29= 在所谓的 应用内浏览器 中打开 URL ](@capacitor/browser
插件):
- 电容器 2:https://capacitorjs.com/docs/apis/browser
- 电容器3(即将发布):https://capacitorjs.com/docs/v3/apis/browser
在 Android 这会打开一个 Chrome WebView, on iOS a SFSafariViewController,因此用户永远不会真正离开该应用程序,它是位于顶部的附加 Activity(或 ViewController)应用的导航堆栈。
插件说明中说:
The Browser API makes it easy to open an in-app browser session to show external web content, handle authentication flows, and more.
您也可以添加侦听器来侦听页面加载事件。