html - 如何防止flutter web htmlelementview捕获其上方对象的触摸?

标签 html flutter dart flutter-web

我正在使用 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));
enter image description here
enter image description here
编辑:
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/

相关文章:

flutter - 未定义命名参数子项

android - 适用于 Android 的 Google Fit API

regex - 如何从 "/test/(\d+)"等正则表达式访问捕获的值?

javascript - 将背景图像换成背景 gif

html - 拉伸(stretch) <a> 标签以填充整个 <li>

html - 应用程序缓存 : don't serve file from appcache on 404

flutter - 分页gridview失败

javascript - create-react-app 太慢并创建困惑的应用程序

android - 如何为 Flutter 中使用 itemBuilder 生成的列表中的每个项目分配不同的键?

casting - 为什么ByteData.view(buffer)抛出NoSuchMethodError:类 'String'没有实例方法 'asByteData'