我正在使用 dart:html 中的 HTML 元素 View 在我的 Flutter Web 应用程序中显示一个网页。它捕获其区域内的所有触摸,包括其上方 FAB 上的触摸,以及上下文中脚手架抽屉上的触摸。我什至不需要在 webview 上进行触摸输入,我只想显示它。另请注意,吸收指针和忽略指针不能解决问题。这是在脚手架主体内部显示网页的代码。
final IFrameElement _iframeElement = IFrameElement();
_iframeElement.src = "webpageurl";
_iframeElement.style.border = 'none';
// ignore: undefined_prefixed_name
ui.platformViewRegistry.registerViewFactory(
'iframeElement',
(int viewId) => _iframeElement,
);
Widget _iframeWidget;
_iframeWidget = HtmlElementView(
key: UniqueKey(),
viewType: 'iframeElement',
);
return Center(child: IgnorePointer(child: _iframeWidget));
编辑:
final IFrameElement _iframeElement = IFrameElement();
_iframeElement.src = "https://index.hu/";
_iframeElement.style.border = 'none';
// ignore: undefined_prefixed_name
ui.platformViewRegistry.registerViewFactory(
'iframeElement',
(int viewId) => _iframeElement,
);
Widget _iframeWidget;
_iframeWidget = HtmlElementView(
key: UniqueKey(),
viewType: 'iframeElement',
);
return Stack(
children: <Widget>[
IgnorePointer(
ignoring: true,
child: Center(
child: _iframeWidget,
),
),
Container(
color: Colors.transparent,
),
],
);
最佳答案
PointerInterceptor是一个防止鼠标事件(在 web 中)被底层 HtmlElementView 捕获的小部件。
关于html - 如何防止flutter web htmlelementview捕获其上方对象的触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62451268/