到目前为止,我想出的是手动覆盖 window.open、window.postMessage 和 window.onmessage 等方法,以便在 Dart 内部创建一个桥接器。
有没有解决这个问题的标准方法?
到目前为止,我想出的是手动覆盖 window.open、window.postMessage 和 window.onmessage 等方法,以便在 Dart 内部创建一个桥接器。
有没有解决这个问题的标准方法?
出于安全考虑,大多数 API 提供商禁止使用 Webview 进行 Oauth。提供者需要使用外部浏览器来执行用户名和密码的授权。对于 Android,您必须在您的清单中注册一个回调活动,以便提供者在授权完成并关闭浏览器后将用户定向到该活动。
您可以查看oauth2_flutter以了解该库的作者如何处理回调以及如何配置它。
我在标题下的一篇中等帖子中找到了答案:如何管理使用 target=”_blank” 或 “window.open” 打开的弹出窗口。
关键是实现 onCreateWindow 方法,并使用从 CreateWindowAction 接收到的 windowId 创建另一个 InAppWebView 实例。