防止 flutter web 切断 url 路径 #

Prevent flutter web cuts off the url path #

我的 flutter 网站是从另一个网站重定向而来的,格式如下:

 http://example.com/#id_token=abc

我想像这样在 initState 中阅读 #id_token=abc 中的信息

 @override
 void initState() {
    super.initState();
    var url = html.window.location.href;
    if (url.contains('id_token=')) {
       // read data
    }
 }

但是 flutter 站点在进入 initState 之前会自动重新加载并切断 #id_token 部分(调试时本地主机也是如此),新的 url 是

http://example.com/#/

这使我的代码无法正确读取 id_token 信息
看起来很奇怪,我怎样才能防止这种情况发生?
P/s: 它与 url 参数格式一起工作得很好 http://example.com?id_token=abc 但是 我无法控制其他站点 来支持这种格式

我在 flutter 方面找不到任何解决方案。
所以我通过使用空白页解决了我的问题,并使用 javascript 从 #id_token=abc 读取数据,然后使用这样的参数导航到 flutter 主页 index.html?id_token=abc
这是页面内容:

<body>
  <script>
    document.addEventListener('DOMContentLoaded', function() {
      console.log('document is ready');
      var url = window.location.href;
      console.log(url);
      if(url.indexOf('#id_token=') != -1){
        var idToken = url.split('#id_token=')[1];
        console.log('idToken ' + idToken);
        window.location.replace("index.html?id_token=" + idToken);
      }else {
        console.log('there is no id token');
      }
    });
  </script>
</body>
<div class="center-screen">Waiting...</div>