printing - Dart语言:打印报告

标签 printing dart report dart-html

我想知道如何在Dart上打印报告。

基本上,这是 Activity 流程:

  • 用户单击“报告”按钮。
  • 创建新的浏览器窗口。
  • 相关数据被放置在新窗口中。

  • 当然,如果有任何API可以做到这一点,我会使用它。

    到目前为止,我已经尝试创建一个新窗口,在其上添加onMessage侦听器,并在主类上调用postMessage以发送数据。但是,它没有用。该消息永远不会到达另一侧(主>新浏览器窗口)。

    主 Dart 类

    var reportWindow;
    void createReportWindow() {
        reportWindow = window.open("report.html", "");
    }
    void sendMessage(String message) {
        reportWindow.postMessage(message, "*");
    }
    

    报告Dart类(链接到report.html)

    void startListening() {
        window.onMessage.listen((e) {
            print(e.data.toString());
        });
    }
    

    最佳答案

    更新资料
    开始从报告窗口发送到window.opener.postMessage(...),然后响应(message.source as WindowBase).postMessage(...)
    这可能是带有window.open返回值的错误(有关更多详细信息,请参见http://dartbug.com/20216)。
    原版的
    该单元测试中的代码应向您展示如何完成https://github.com/dart-lang/core-elements/blob/master/test/core_media_query_test.dart
    我从一个新的URL打开一个窗口,该窗口从服务器加载其内容和Dart脚本(当然也可以编译为JavaScript)。打开的窗口通过sendMessage与主窗口通信。这在两个方向上都有效。
    基本上,第二个窗口是第二个Dart浏览器应用程序。
    我想这可能并不是您要找的东西,但是您的要求可以实现。
    https://github.com/dart-lang/core-elements/blob/master/test/core_media_query_test.dart#L66这一行,注释掉的代码可能符合您的要求。我创建了以下解决方法,因为该代码应该从主窗口中的代码调整第二个窗口的大小,以测试<core-media-query>元素(顺便说一句也不起作用)。但是我认为您只需要打开窗口,注释掉的代码就可以正常工作。

    关于printing - Dart语言:打印报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27048607/

    相关文章:

    python - 字符串格式化 - Python

    java - 打印的执行顺序

    c++ - 按行、列和深度顺序打印多维 vector

    dart - dart 隔离中的消息顺序

    java - 报告优化问题

    vba - PrintOut 打印多组工作表而不是一组

    flutter - child 如何动态获取其 parent 的宽度/高度

    sql-server - SSRS 行可见性 - 在切换可见性时隐藏父行

    MySQL 查询每月总销售额和付款类型

    android-studio - flutter build runner 不工作 - 在 null 上调用了 getter 'uri'