如何以类似的方式从javascript调用android和iOS swift中的函数
我试图从如何以类似的方式从javascript调用android和iOS swift中的函数,javascript,android,ios,webview,wkwebview,Javascript,Android,Ios,Webview,Wkwebview,我试图从javascript调用android和ioswift(WKWebview)中的函数 适用于Android: public class WebAppInterface { WebAppInterface(Context c) { mContext = c; } @JavascriptInterface public void postMessage(String message) { Log.v(TAG, "messag
javascript
调用android
和ioswift
(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");
window.appInterface.postMessage("Hello);
window.webkit.messageHandlers.appInterafce.postMeesage("Hello");
Android的JavaScript调用:
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");
window.appInterface.postMessage("Hello);
window.webkit.messageHandlers.appInterafce.postMeesage("Hello");
iOS的Javascript调用:
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");
window.appInterface.postMessage("Hello);
window.webkit.messageHandlers.appInterafce.postMeesage("Hello");
因此,这里我们从javascript
对android
和iOS
进行不同的调用。
可以用一种方法调用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)
}
}
我花了一整天的时间为我同样的需求找到了这个简单的答案。你救了我第二天,你救了我一天!谢谢:)