使用SKIA编译Flutter Web应用程序时,某些Flutter会使某些组件无法正常工作

问题描述

我使用常规的 Flutter build web 进行了编译,并且所有组件均正常运行,但是由于我在首页显示了Lottie动画,因此我使用了: Flutter run -d Chrome --dart-define = FlutteR_WEB_USE_SKIA = true --release 甚至制作没有Lottie的整个项目,使用SKIA进行编译也会冻结iframe,并且不会加载视频。任何建议(我曾尝试使用期货来加载它,但两者均无效)。预先感谢

 Container(
                width:(_size.width - 400)/2,child: Card(
                  clipBehavior: Clip.antiAlias,elevation: 2,//This Iframe only shows the thumbnail,only when compiled with SKIA
                  child: IframeScreen(),),Container(
                width: (_size.width - 400)/2,child: Text('Hola1 dentro de cartaOOOOO'),)

这是Iframe类,似乎无效:

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





class IframeScreen extends StatefulWidget {

 final String fuente;
 const IframeScreen ({ Key key,this.fuente }): super(key: key);

 _IframeScreenState createState() => _IframeScreenState();
}

class _IframeScreenState extends State<IframeScreen> {

 Widget _iframeWidget;

 final IFrameElement _iframeElement = IFrameElement();

 @override
 void initState() {

   super.initState();
   _iframeElement.height = '800';
   _iframeElement.width = '800';

   _iframeElement.src =widget.fuente;

   //"https://player.vimeo.com/video/471936000?quality=1080p";
   //https://player.vimeo.com/video/471936000

   _iframeElement.style.border = 'none';

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

   _iframeWidget = HtmlElementView(
     key: UniqueKey(),viewType: 'iframeElement',);
 }

 @override
 Widget build(BuildContext context) {


   return Center(
     child:  SizedBox(
       height: 600,width: 600,child: _iframeWidget,);
 }

}


[Imagen from browser Inspector][1]


 [1]: https://i.stack.imgur.com/b3CxX.png

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)