当前位置: 首页 > 面试题库 >

Flutter Web中的WebView

干高歌
2023-03-14
问题内容

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

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

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


问题答案:

首先需要执行platformViewRegistry:

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

看那个例子。在该示例中,导入了旧库(在19.09.19上),但是如果您在“
flutter”上更改“ flutter_web”,则它必须可以工作。

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

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


 类似资料:
  • 我已经为android Studio创建了一个webview应用程序。但没有加载web URL。错误为NET::ERR_ACCESS_DENIED。有谁能帮忙吗

  • 我有一个显示本地HTML文件的WebView。在HTML中,我有一个硬编码的JavaScript函数。Onclick从一个按钮开始,也在该HTML文件中,函数将字符串传递到JavaScriptInterface。从那里,我想用这两个传递的字符串在我的活动中调用一个方法。这可能吗? 我已经设置好了所有的东西,它正在工作,但是在活动中调用一个方法(从JSInterface中调用)只有在我将活动方法设置

  • 作为一个示例,让我们假设在一个项目中,我在我的主要活动中使用了一个WebView实例,加载一个本地HTML文件: 我有一个JavascriptInterface也,从那里我想调用在我的超文本标记语言文件: 到目前为止,我想明白为什么这行不通了。从我从这样或这样的答案中了解到的,尤其是在WebView的留档中,我知道JavascriptInterface和WebView在不同的线程上运行,所以像这样

  • 当我向服务器发布一些url时,我试图在webview中获取响应标题。我使用的是shouldInterceptRequest方法。 此方法返回WebResource响应对象。但我不知道如何从中获取响应标头。 默认情况下,返回super。shouldInterceptRequest(视图、请求) 返回null。 那么,应该做些什么才能捕捉到实际的webview响应呢。

  • 我需要在父背景模式上显示我的webview内容。有没有简单的方法来做到这一点?

  • 我读到应该重写方法。但是我得到一个错误,不能为重写“shouldoverrideurlloading”。 如果您能给出一个具有progressbar和webView的示例,并在同一个webView中打开新的URL,我将非常高兴。

  • 我是Java和JavaFX的新手,我只是想知道JavaFX的webview是否可以运行javascript本身,除了它与java代码的通信之外。例如,当窗口加载时,我可以在webview中运行javascript警报语句,并在webview中实际获得警报,就像在普通浏览器中一样。我知道我可以通过以下方式使用我的java代码捕获此警报事件 <代码>Web引擎。setOnAlert设置 但我实际上希望

  • 我使用子JPanel构造JScrollPane,然后尝试将JScrollPane添加到父JPanel中,希望有一个可滚动的自定义JPanel。 我有一个大的细白线前面的所有我的组件,他们是没有滚动。有什么想法吗?