我正在尝试从Javascript调用android和iOS Swift(WKWebview)中的函数.
对于Android:
public class WebAppInterface {
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void postMessage(String message) {
Log.v(TAG, "message ----"+message);
Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show();
}
}
webView.addJavascriptInterface(new WebAppInterface(mContext), "appInterface");
Android的JavaScript调用:
window.appInterface.postMessage("Hello);
iOS的Java语言调用:
window.webkit.messageHandlers.appInterafce.postMeesage("Hello");
因此,在这里我们通过android和iOS的javascript进行了不同的调用.
是否可以通过一种方式在android和iOS中调用函数?
谢谢.
解决方法:
将它们都包装在一个函数中?
function postAppMessage(msg) {
if (window.webkit != undefined) {
if (window.webkit.messageHandlers.appInterface != undefined) {
window.webkit.messageHandlers.appInterface.postMessage(msg)
}
}
if (window.appInterface != undefined) {
window.appInterface.postMessage(msg)
}
}