fluttercommunity / fluttercommunity/flutter_webview_plugin
i want to call custom flutter function from javascription fuction.
- Ngôn ngữ chính
- Java
- Star
- 1.5k
- Fork
- 938
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Here is my code.
MainActivity.kt
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
WebviewManager.java
webView.addJavascriptInterface(new WebAppInterface(), "Android");
//////////////
public class WebAppInterface {
@JavascriptInterface
public void getPostMessage(String value){
Map postMessageMap = new HashMap<>();
postMessageMap.put("postMessage", value);
FlutterWebviewPlugin.channel.invokeMethod("onPostMessage", postMessageMap);
}
}
dart file :
flutterWebViewPlugin.onStateChanged.listen((state) async {
if(state.type == WebViewState.finishLoad) {
String script = 'window.addEventListener("message", sendWhatsApp,false);' +
'function sendWhatsApp(msg) {Android.postMessage("data");}';
flutterWebViewPlugin.evalJavascript(script);
}
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện luồng JavaScript-to-native-to-Dart được mô tả trong MainActivity.kt, WebviewManager.java và listener Dart onStateChanged. Làm rõ hàm Flutter tùy chỉnh được mong đợi và xác minh liệu JavaScript interface hiện có cùng FlutterWebviewPlugin channel có thể truyền lời gọi đó hay không; được xem là hoàn tất khi invocation được yêu cầu hoạt động với một ví dụ được ghi chép.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- dart, java, javascript, kotlin
- Lĩnh vực
- mobile-dev
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100