Сначала Вы использовали функцию «требуется». эта функция не реализована в самом 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, а затем вызвать метод Lunch.