gpt4 book ai didi

flutter - Flutter Web 中的 WebView

转载 作者:行者123 更新时间:2023-12-02 01:54:38 27 4
gpt4 key购买 nike

我尝试在 Flutter for Web 中显示 Web View ,但出现以下错误:

PlatformException(Unregistered factory, No factory registered for viewtype 'plugins.flutter.io/webview', null)

有没有办法在 Flutter Web 中显示 WebView ?

最佳答案

编辑:这是截至 2021 年 5 月 16 日的可运行示例:

import 'dart:html';
import 'package:flutter/material.dart';
import 'dart:ui' as ui;

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

runApp(Directionality(
textDirection: TextDirection.ltr,
child: SizedBox(
width: 640,
height: 360,
child: HtmlElementView(viewType: 'hello-world-html'),
),
));
}

本文的其余部分只是复制上面的内容,并且是原作者的原始帖子

您需要首先执行platformViewRegistry:

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

看看那个example 。在该示例中,旧库已导入(2019 年 9 月 29 日),但如果您更改“flutter”上的“flutter_web”,它必须起作用。

此外,您不仅可以使用“IFrameElement”,还可以使用常规 html:

    ui.platformViewRegistry.registerViewFactory("simple_div", (int viewId) {
DivElement element = DivElement();
...
return element;

关于flutter - Flutter Web 中的 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58150503/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com