Error:
lib/main.dart:35:11: Error: No named parameter with the name 'javaScriptHandlers'.
javaScriptHandlers: [
^^^^^^^^^^^^^^^^^^
../../AppData/Local/Pub/Cache/hosted/pub.dev/flutter_inappwebview-5.8.0/lib/src/in_app_webview/in_app_webview_options.dart:208:3: Context: Found this candidate, but the arguments don't match.
InAppWebViewOptions(
^^^^^^^^^^^^^^^^^^^
Solution:
The error message shows that the InAppWebViewOptions class does not have a named parameter named javaScriptHandlers. This is probably because the API for the flutter_inappwebview package has changed.
The addJavaScriptHandler function in the onWebViewCreated callback should be used to add JavaScript handlers rather than javaScriptHandlers.
This is how to change your code:
And in your HTML/JS code, you would call this handler like this:
Please note that theĀ flutter_inappwebview.callHandler
Ā method is used to call the handler from JavaScript. Also, remember to import the correct package at the top of yourĀ main.dart
Ā file:
Verify that the flutter_inappwebview package is the most recent version in your pubspec.yaml file. Your current version of pubspec.yaml indicates that you are using 5.5.0. If it isn’t the most recent version, kindly update it.
Full code here
Here is the corrected version of yourĀ main.dart
Ā file:
This code includes the necessary changes to handle JavaScript communication between the WebView and the Flutter app using the flutter_inappwebview
package. It also uses the file_picker
package to pick files from the device.
Remember to update your flutter_inappwebview
package to the latest version in your pubspec.yaml
file.