如何打开url并获取数据.

这是代码:

void main() {
  runApp(MaterialApp(
    home: new Scaffold(
      body: new Center(
        child: new ElevatedButton(
          onPressed: () {
            //_launchInBrowser(Uri(scheme: 'https', host: "dart.dev"));
            var data = html.window.open("https://dart.dev", "dart dev");
            print(data.location);
          },
          child: new Text('Show Flutter homepage'),
        ),
      ),
    ),
  ));
}

Future<void> _launchInBrowser(Uri url) async {
  if (!await launchUrl(
    url,
    mode: LaunchMode.externalApplication,
  )) {
    throw 'Could not launch $url';
  }
}

推荐答案

我找到了这个解决方案或解决方法.

<script>
    var data = window.open("http://dart.dev");
    //alert(window.location.href);
    localStorage.setItem("url", window.location.href);
    console.log(localStorage.getItem("url"));
</script>

我需要的网址,但它可以存储任何数据从页面.

使用本地存储:

import 'dart:html' as html;

class LocalStorage {
  final html.Storage _localStorage = html.window.localStorage;

  Future save(String url) async {
    _localStorage['url'] = url;
  }

  Future<String?> getUrl() async => _localStorage['url'];

  Future invalidate() async {
    _localStorage.remove('url');
  }
}

我try 使用shared_首选项,但不起作用.

ElevatedButton(
          onPressed: () async {
            var rep = LocalStorage();
            await _launchInBrowser(Uri(path: "open_url.html"));
            print(await rep.getUrl());
          },
          child: Text('Show Flutter homepage'),
        ),    
    Future<void> _launchInBrowser(Uri url) async {
      if (!await launchUrl(
        url,
        mode: LaunchMode.externalApplication,
      )) {
        throw 'Could not launch $url';
      }
    }

Dart相关问答推荐

对字母数字字符串数组进行排序

为什么 Dart 程序在使用词法作用域时会根据声明变量的位置而表现不同?

Flutter - MultiProvider 如何与相同类型的提供者一起工作?

在 Column Flutter 中居中展开 ListView

可调用云函数错误:响应缺少数据字段

将 Flutter 前端与 Android 和 iOS 的 .NET Core 后端相结合

如何根据用户在Flitter中的时间显示问候,如早上好、下午好或晚上好

Flutter ToggleButton 类 - Flutter 1.9.1

如何在dart中四舍五入?

在 Dart 中修改类内的最终字段

带有 Dart 的 CORS,我如何让它工作?

如何在 Dart SDK 0.4+ 中使用 setInterval/setTimeout

你如何在 Dart 中打印美元符号 $

在 Dart 中没有换行符的 print()?

有没有办法取消dartfuture ?

你如何在 Dart 中对异常进行单元测试?

Null aware函数调用运算符

何时在 Dart 中使用 part/part of 与 import/export?

列出dart中双点(.)的使用?

如何用 Dart 格式化日期?