【发布时间】:2022-08-08 22:23:26
【问题描述】:
我正在尝试将用户从我们的 Flutter 应用程序重定向到 safari 以进行付款。我们有两个在 safari 中打开的按钮。当用户点击它时,它会在 safari 中打开,用户付款并被重定向回应用程序。但是,如果 URL1 已经打开并且用户返回应用程序并尝试打开 URL2 ,则它不会在选项卡中打开 URL2 并且只会使用旧 URL (URL1) 刷新选项卡。您可以通过 safari 上的以下链接进行测试。
URL2:https://staging-admin.spotlight.xyz/#/payment/intent/user/7906ab92-31ea-46a4-90f8-d645bedafb46/org/4c3fbedd-9882-4aeb-8225-6e72c91fadbd?time=1657808709
这是我尝试过的:
- 在 URL 中添加 / 而不是 ?
- 添加时间戳(如上例)
如果有帮助,该 URL 是从 nodejs 应用程序提供的。
编辑:用于打开 URL 的代码是:
Future<void> _launchURL(String paymentUrl) async {
if (await canLaunch(paymentUrl)) {
await launch(
paymentUrl,
forceSafariVC: false,
enableJavaScript: true,
);
} else {
throw \'Could not launch $paymentUrl\';
}
}
EDIT2:我将 url_launcher 包更新到最新版本并使用 launchUrl 函数启动。它似乎仍然没有解决问题:(
该 URL 正在 Safari 中打开。
Future<void> _launchURL(String paymentUrl) async {
if (await canLaunchUrl(Uri.parse(paymentUrl))) {
await launchUrl(
Uri.parse(paymentUrl),
webOnlyWindowName: \'_blank\',
);
} else {
throw \'Could not launch $paymentUrl\';
}
}
感谢您的回答!
-
你如何打开网址?分享代码。
标签: javascript node.js flutter mobile-safari