当前位置: 首页 > 知识库问答 >
问题:

在Flutter Webview中运行一些Javascript文件,如index.js

穆宾白
2023-03-14

如何在flatter_webview_插件中运行Javascript文件。我用这个试试。

flutterWebViewPlugin.evalJavascript("require('./index.js');");

但什么也没发生。

当我试图运行flutter代码时,它什么也显示不出来

我的索引。Js文件包含一个简单的警报语句

alert('hello world');

共有1个答案

归松
2023-03-14

首先,你使用了“需要”函数。这个函数不是在javascript中实现的。它是NodeJs的一部分。所以这个函数不会工作。

为了将JS文件加载到颤动中,应将其视为文本文件并正确加载。因此,您需要将该文件添加到资产文件夹中,添加到pubspec文件中,然后加载它。在这里阅读完整答案

其次,您使用了evalJavascript。此功能可用于许多不同的情况。但只有当您有一个视图面板时,它才能工作。

检查下面的例子:

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';

main() async {
  String jsCode = await rootBundle.loadString('assets/javascript.js');

  runApp(new MaterialApp(
    home: LunchWebView(jsCode),
  ));
}

class LunchWebView extends StatelessWidget {
  final String text;
  LunchWebView(this.text);

  @override
  Widget build(BuildContext context) {
    final FlutterWebviewPlugin flutterWebviewPlugin = FlutterWebviewPlugin();
    flutterWebviewPlugin.launch('https://www.google.com');
    flutterWebviewPlugin.evalJavascript(text);
    return Container();
  }
}

注意:我没有处理重载和其他异常。您应该检查是否有任何webview对象打开,然后调用午餐方法。

 类似资料:
  • 问题内容: JavaScript中是否有类似于CSS的东西,允许您在另一个JavaScript文件中包含一个JavaScript文件? 问题答案: JavaScript的旧版本没有导入,包含或要求,因此已经开发了许多解决此问题的方法。 但是自2015年(ES6)起,JavaScript有了ES6模块标准即可在Node.js中导入模块,大多数现代浏览器也支持该模块。 为了与旧浏览器的兼容性,这样的构

  • 在Sublime文本中,我通过cmd运行文件,但在凌动中,它们通过Visual Studio 2019打开,我如何修复此问题?请帮助解决这个问题。

  • 我正在使用Maven SureFire,TestNG(扩展AbstractTestNGCucumber测试)和Cucumber,并且有几个功能文件,每个文件都有几个场景。我希望能够在一个功能文件中并行运行每个场景,但一次只能运行一个功能文件。这有可能吗? 举个例子: 我希望场景1a、1b和1c在功能文件1中并行运行。一旦这些完成,运行场景2a和功能2等的2b。 这是当前一次从所有功能文件运行所有方

  • 我是新手,所以如果我错过了一些明显的东西,请事先道歉,但是我不知道如何在WebStrem中运行JavaScript。网络Storm留档说只需在浏览器中打开超文本标记语言文件,但这似乎不起作用。不管怎样,一切都在codepen.io. 以下是超文本标记语言(用于简单的天气应用程序): 这是脚本(仍在草稿中,因为它需要扩展以链接到涵盖“天气”所有值的图像): 非常感谢任何帮助!

  • 问题内容: 我正在研究一个简单的代码,该代码从C / C ++应用程序运行Python函数。为了做到这一点,我设置了PYTHONPATH并运行初始化,如下所示: 然后,导入模块并运行函数。效果很好。 我现在正在尝试为我的同事构建一个安装程序以运行我的代码。出于明显的原因,我想减少需要在此安装程序中包含的文件数量。 仔细研究这个主题会告诉我,我应该能够包含文件“ Python27.lib”和“ Py

  • 问题内容: 我已使用以下语句使用此博客中的java文件创建了jar文件 现在我已经尝试通过命中和尝试各种命令在hadoop中运行此jar 1个 输出: 2。 输出: 如何在hadoop中运行jar?根据程序需要,我具有正确的DFS位置。 问题答案: 我能够重现您的问题。问题是您要在哪里创建罐子。 基本上,要打包到jar中的目录在查找主类文件时会混淆jar文件。相反,如果您尝试这样做: 例如,将类文