问题描述
我使用常规的 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 (将#修改为@)