callHandler
package com.example.script
// WebViewActivity.getBridge() 用于获取 WebViewBridge 对象
val bridge = _webView.getBridge()
// WebViewBridge.registerHandler() 用于注册处理器供 WebView 端调用
bridge.registerHandler("handlerForWebView") {
// it -> String
// it 表示从 WebView 端传来的参数,如果没有则为 null
val handledParams = it + " return from script"
// WebViewBridge.callHandler() 用于调用 WebView 端注册的处理器
bridge.callHandler("functionForScriptToCall", handledParams) { i ->
// it -> String
// it 为 WebView 端js函数返回值
_console.log(i)
}
handledParams
}
// Activity.start() 用于启动Android系统的Activity
_activity.start()
package com.example.script
// WebViewActivity.getBridge() 用于获取 WebViewBridge 对象
def bridge = $webView.getBridge()
// WebViewBridge.registerHandler() 用于注册处理器供 WebView 端调用
bridge.registerHandler("handlerForWebView") {
// it -> String
// it 表示从 WebView 端传来的参数,如果没有则为 null
def handledParams = "$it return from script"
// WebViewBridge.callHandler() 用于调用 WebView 端注册的处理器
bridge.callHandler("functionForScriptToCall", handledParams) {
// it -> String
// it 为 WebView 端js函数返回值
$console.log(it)
}
handledParams
}
// Activity.start() 用于启动Android系统的Activity
$activity.start()
// WebViewActivity.getBridge() 用于获取 WebViewBridge 对象
let bridge = $webView.getBridge()
// WebViewBridge.registerHandler() 用于注册处理器供 WebView 端调用
bridge.registerHandler("handlerForWebView", (it) => {
// it -> String
// it 表示从 WebView 端传来的参数,如果没有则为 null
let handledParams = it + " return from script"
// WebViewBridge.callHandler() 用于调用 WebView 端注册的处理器
bridge.callHandler("functionForScriptToCall", handledParams, (it) => {
// it -> String
// it 为 WebView 端js函数返回值
$console.log(it)
})
return handledParams
})
// Activity.start() 用于启动Android系统的Activity
$activity.start()
-- WebViewActivity.getBridge() 用于获取 WebViewBridge 对象
local bridge = _webView:getBridge()
-- WebViewBridge.registerHandler() 用于注册处理器供 WebView 端调用
bridge:registerHandler("handlerForWebView", function(it)
-- it -> String
-- it 表示从 WebView 端传来的参数,如果没有则为 nil
local handledParams = it .. "return from script"
-- WebViewBridge.callHandler() 用于调用 WebView 端注册的处理器
bridge:callHandler("functionForScriptToCall", handledParams, function(i)
-- it -> String
-- it 为 WebView 端js函数返回值
_console:log(i)
end)
return handledParams
end)
-- Activity.start() 用于启动Android系统的Activity
_activity:start()
<?php
// WebViewActivity.getBridge() 用于获取 WebViewBridge 对象
$bridge = $webView->getBridge();
// WebViewBridge.registerHandler() 用于注册处理器供 WebView 端调用
$bridge->registerHandler("handlerForWebView", function ($it) use ($console, $bridge) {
// it -> String
// it 表示从 WebView 端传来的参数,如果没有则为 nil
$handledParams = $it . "return from script";
// WebViewBridge.callHandler() 用于调用 WebView 端注册的处理器
$bridge->callHandler("functionForScriptToCall", $handledParams, function ($i) use ($console) {
// it -> String
// it 为 WebView 端js函数返回值
$console->log($i);
});
return $handledParams;
});
// Activity.start() 用于启动Android系统的Activity
$activity->start();
# WebViewActivity.getBridge() 用于获取 WebViewBridge 对象
bridge = _webView.getBridge()
def fn1(it):
# it -> String
# it 表示从 WebView 端传来的参数,如果没有则为 null
handledParams = it + " return from script"
def fn2(i):
# it -> String
# it 为 WebView 端js函数返回值
_console.log(i)
# WebViewBridge.callHandler() 用于调用 WebView 端注册的处理器
bridge.callHandler("functionForScriptToCall", handledParams, fn2)
return handledParams
# WebViewBridge.registerHandler() 用于注册处理器供 WebView 端调用
bridge.registerHandler("handlerForWebView", fn1)
# Activity.start() 用于启动Android系统的Activity
_activity.start()
# WebViewActivity.getBridge() 用于获取 WebViewBridge 对象
bridge = $webView.getBridge()
# WebViewBridge.registerHandler() 用于注册处理器供 WebView 端调用
bridge.registerHandler("handlerForWebView") { |it|
# it -> String
# it 表示从 WebView 端传来的参数,如果没有则为 null
handledParams = it + "return from script"
# WebViewBridge.callHandler() 用于调用 WebView 端注册的处理器
bridge.callHandler("functionForScriptToCall", handledParams) { |i|
# it -> String
# it 为 WebView 端js函数返回值
$console.log(i)
}
handledParams
}
# Activity.start() 用于启动Android系统的Activity
$activity.start()
Last modified: 29 April 2025