如何在FlutterWebview中自动运行Javascript

时间:2018-05-18 11:24:51

标签: javascript webview flutter

再次

我是否可以在flutter_webview_plugin中自动运行javascript?。

我通过点击IconButton

来试试这个
flutterWebviewPlugin.evalJavascript('document.addEventListener("DOMContentLoaded", function(event){console.log("DOM fully loaded and parsed");})');

它不起作用。

实际上我的目标是填写两个文本字段(名称和密码),并在加载文档时提交。

如果我尝试

flutterWebviewPlugin.evalJavascript('document.getElementById("user-id").value = "Phil Osoph"; document.getElementById("pw-id").value = "Baum123"; document._CustomLoginForm.submit(); ');

它有效,但如果我尝试

flutterWebviewPlugin.evalJavascript('document.addEventListener("DOMContentLoaded", function(event){document.getElementById("user-id").value = "Phil Osoph"; document.getElementById("pw-id").value = "Baum123"; document._CustomLoginForm.submit();})');
没有任何反应。

1 个答案:

答案 0 :(得分:1)

这应该在加载页面时运行脚本

flutterWebviewPlugin.onStateChanged.listen((state) async {
  if(state == WebViewState.finishLoad) {
    flutterWebviewPlugin.evalJavascript('document.getElementById("user-id").value = "Phil Osoph"; document.getElementById("pw-id").value = "Baum123"; document._CustomLoginForm.submit(); ');
  }
});