在 Flutter Web 的新选项卡中打开 url 时出现空白页面(需要刷新)

Blank page when open url in new tab in Flutter Web (need to refresh)

我正在 Flutter web 中构建一个 url,并使用 JS 在新选项卡中打开它。它可以正常打开,但不要加载 url 和 return 空白页。我每次都需要手动 load/refresh 选项卡。

import 'dart:js' as js;
js.context.callMethod('open', [_buildUrl(category, id)]);
String _buildUrl(String category, int id) {
    return "$_baseUrl/$category/$id"; 
}

这是正常行为还是我错过了什么?

提前致谢

以上方法对我来说效果很好。以下是我尝试过的 -

在代码段中,方法 1 是使用 Uri.base 触发同一网站内的另一个页面;并且它正在按预期打开一个新选项卡。

import 'dart:js' as js;
import 'dart:html' as html;

Widget build(BuildContext context) {
  return Scaffold(
    body: ElevatedButton(
      onPressed: () {
        // Method 1
        js.context.callMethod('open', [_buildUrl("Grocery", 101)]);
        // Method 2 - Alternative
        //html.window.open(_buildUrl("Grocery", 101), "new tab");
      },
      child: const Text('using JS method'),
    ),
  );
}

String _buildUrl(String category, int id) {
  return "${Uri.base}$category/$id";
}

或者,如果还是麻烦,可以尝试使用Flutter中html库中的window.open()方法。我在上面的代码片段中将其称为方法 2。这也将在同一浏览器中打开一个新选项卡。