diff --git a/JSBridgeAndroidJava/app/src/main/java/com/beichen/jsbridgeandroidjava/MainActivity.java b/JSBridgeAndroidJava/app/src/main/java/com/beichen/jsbridgeandroidjava/MainActivity.java index e2d68b5..5a9ffc5 100644 --- a/JSBridgeAndroidJava/app/src/main/java/com/beichen/jsbridgeandroidjava/MainActivity.java +++ b/JSBridgeAndroidJava/app/src/main/java/com/beichen/jsbridgeandroidjava/MainActivity.java @@ -22,6 +22,8 @@ import com.github.lzyzsd.jsbridge.CallBackFunction; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private BridgeWebView mWebView; + // URL 网络请求地址 + // TODO: 请替换成页面的 url 地址 private static final String URL = "http://xxx.xxx.xxx.xxx:xxxx/"; long exitTime = 0; @@ -65,7 +67,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe // 进行缩放 mWebView.getSettings().setBuiltInZoomControls(true); // 设置UserAgent - mWebView.getSettings().setUserAgentString(mWebView.getSettings().getUserAgentString() + "android"); + mWebView.getSettings().setUserAgentString(mWebView.getSettings().getUserAgentString() + "app"); // 设置不用系统浏览器打开,直接显示在当前WebView mWebView.setWebChromeClient(new WebChromeClient()); mWebView.setWebViewClient(new MyWebViewClient(mWebView)); diff --git a/JSBridgeAndroidKotlin/app/src/main/java/com/beichen/jsbridgeandroidkotlin/MainActivity.kt b/JSBridgeAndroidKotlin/app/src/main/java/com/beichen/jsbridgeandroidkotlin/MainActivity.kt index b676f16..ab62900 100644 --- a/JSBridgeAndroidKotlin/app/src/main/java/com/beichen/jsbridgeandroidkotlin/MainActivity.kt +++ b/JSBridgeAndroidKotlin/app/src/main/java/com/beichen/jsbridgeandroidkotlin/MainActivity.kt @@ -61,7 +61,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener { // 进行缩放 mWebView!!.settings.builtInZoomControls = true // 设置UserAgent - mWebView!!.settings.userAgentString = mWebView!!.settings.userAgentString + "android" + mWebView!!.settings.userAgentString = mWebView!!.settings.userAgentString + "app" // 设置不用系统浏览器打开,直接显示在当前WebView mWebView!!.webChromeClient = WebChromeClient() mWebView!!.webViewClient = MyWebViewClient(mWebView!!) diff --git a/JSBridgeH5/src/App.js b/JSBridgeH5/src/App.js index 70fa41d..27095a7 100644 --- a/JSBridgeH5/src/App.js +++ b/JSBridgeH5/src/App.js @@ -6,7 +6,9 @@ import Cookie from 'js-cookie'; import styles from './App.less'; -const isAndroid = navigator.userAgent.endsWith('android'); +const u = navigator.userAgent; +// Android终端 +const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; export default (props) => { diff --git a/JSBridgeH5/src/index.js b/JSBridgeH5/src/index.js index 989e0d4..0820eb6 100644 --- a/JSBridgeH5/src/index.js +++ b/JSBridgeH5/src/index.js @@ -17,7 +17,11 @@ import App from './App'; * 安卓才可以正常调用 H5 的回调函数,并且 H5 调用安卓成功后的回调函数也可以正常执行了 */ -const isAndroid = navigator.userAgent.endsWith('android'); +const u = navigator.userAgent; +// Android终端 +const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; +// IOS 终端 +const isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); /** * Android 与安卓交互时: diff --git a/JSBridgeIOSOC/JSBridgeIOSOC/ViewController.m b/JSBridgeIOSOC/JSBridgeIOSOC/ViewController.m index 23bce48..36ec321 100644 --- a/JSBridgeIOSOC/JSBridgeIOSOC/ViewController.m +++ b/JSBridgeIOSOC/JSBridgeIOSOC/ViewController.m @@ -100,8 +100,8 @@ // TODO: 请替换成页面的 url 地址 NSString *URLSTR = @"http://xxx.xxx.xxx.xx:xxxx"; self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 360) configuration:_webConfig]; - // 设置 UserAgent 后缀,这里设置为 ios 用于在 H5 端进行区分 IOS 平台还是 Android 平台 - _webView.customUserAgent = [NSString stringWithFormat:self.webView.customUserAgent, @"ios"]; + // 设置 UserAgent 后缀 + _webView.customUserAgent = [NSString stringWithFormat:self.webView.customUserAgent, @"app"]; _webView.UIDelegate = self; _webView.navigationDelegate = self; NSURL *url = [NSURL URLWithString:URLSTR]; diff --git a/JSBridgeIOSSwift/JSBridgeIOSSwift/ViewController.swift b/JSBridgeIOSSwift/JSBridgeIOSSwift/ViewController.swift index 96bba80..e07cd9b 100644 --- a/JSBridgeIOSSwift/JSBridgeIOSSwift/ViewController.swift +++ b/JSBridgeIOSSwift/JSBridgeIOSSwift/ViewController.swift @@ -92,8 +92,8 @@ class ViewController: UIViewController, WKNavigationDelegate, WKUIDelegate { // TODO: 请替换成页面的 url 地址 let URLSTR = "http://xxx.xxx.xxx.xxx:xxxx" webView = WKWebView(frame: CGRect(x: 0, y: 0, width: view.bounds.size.width, height: 420), configuration: webConfig!) - // 设置 UserAgent 后缀,这里设置为 ios 用于在 H5 端进行区分 IOS 平台还是 Android 平台 - webView.customUserAgent = String(format: webView!.customUserAgent!, "ios") + // 设置 UserAgent 后缀 + webView.customUserAgent = String(format: webView!.customUserAgent!, "app") webView.uiDelegate = self webView.navigationDelegate = self let url = URL(string: URLSTR)