相关疑难解决方法(0)

从Dart调用javascript

我能够从dart发出警报消息,但无法弄清楚如何调用我在dart的另一个js文件中编写的函数.如果直截了当,这将是一个很好的卖点.我确实看到了这篇帖子,它让我开始了,但我觉得必须有办法,所以如果你想出来的话请分享爱.

这就是我所做的:

  1. 将其添加到yaml文件:

    依赖项:js:hosted:js

  2. 将import语句添加到dart文件的顶部:import'package:js/js.dart'as js;

  3. 添加此代码以显示警报消息

    js.scoped((){js.context.alert("跳跃为喜悦!");});

  4. 这是我认为应该工作的部分但不是:鉴于我有一个javascript函数doSomething(),我应该可以调用

    js.context.doSomething();

javascript dart

11
推荐指数
2
解决办法
4351
查看次数

在 Flutter Web 中嵌入 Youtube 视频

是否可以在 Flutter 网页中嵌入 Youtube 视频?我尝试了以下代码在我的 Flutter 网站中嵌入了一个 Youtube,但页面上没有显示任何错误消息。

import 'package:flutter_html_view/flutter_html_view.dart';

Container(child: HtmlView(data: """
          <iframe src="https://www.youtube.com/embed/xMzkWfIR9Pk" width="560" height="315"></iframe>
          """)),
Run Code Online (Sandbox Code Playgroud)

还尝试了此处推荐的解决方案(Flutter Web 中的 WebView),但这也不起作用。

import 'dart:ui' as ui

//ignore: undefined_prefixed_name
  ui.platformViewRegistry.registerViewFactory(
      'hello-world-html',
      (int viewId) => html.IFrameElement()
        ..width = '640'
        ..height = '360'
        ..src = 'https://www.youtube.com/embed/IyFZznAk69U'
        ..style.border = 'none');
Run Code Online (Sandbox Code Playgroud)

youtube flutter flutter-web

6
推荐指数
1
解决办法
6989
查看次数

在flutter web中使用js库

我需要带有 bpmn.js 视图的小部件:https : //github.com/bpmn-io/bpmn-js

使用 HtmlElementView:

    // ignore: undefined_prefixed_name
    ui.platformViewRegistry
        .registerViewFactory('bpmn_view', (int viewId) => element);

    return Column(
      children: <Widget>[
        Expanded(
            child: HtmlElementView(key: UniqueKey(), viewType: "bpmn_view")),
      ],
    );
Run Code Online (Sandbox Code Playgroud)

使用js:

    const html = '''
    <div id="canvas">canvas</div>
    <script>
      (function () {
        window.addEventListener('view_bpmn', function (e) {
           var bpmnJS = new BpmnJS({
               container: "#canvas"
           });

           bpmnJS.importXML(e.details);
         }, false);
      }());
    </script>
    ''';

    element.setInnerHtml(html,
        validator: NodeValidatorBuilder.common()..allowElement('script'));
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是我在执行时出现错误:

VM4761 bpmn-viewer.development.js:18864 Uncaught TypeError: Cannot read property 'appendChild' of null
    at Viewer.BaseViewer.attachTo (VM4761 bpmn-viewer.development.js:18864)
    at Viewer.BaseViewer._init (VM4761 bpmn-viewer.development.js:18911) …
Run Code Online (Sandbox Code Playgroud)

dart-js-interop flutter-web

4
推荐指数
1
解决办法
4718
查看次数