参考:
ios : https://www.cnblogs.com/wolf-sun/p/5778852.html
android: https://www.cnblogs.com/lanxingren/p/9603633.html
<script type="text/javascript">
function clickSubmit() {
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
var params = 'http://dev.yuexiang365.cn/activePage/wxInvite.html'; //重点:登录成功后跳转的地址
if(isiOS == true) {
var urlParamsArray = window.location.search.substring(1).split('&').indexOf('isagreement_header=1');
if(urlParamsArray > -1) {
// var newParams = {url:window.btoa(params)}
var newParams = {url:params}
WebViewJavascript('login', newParams);
} else {
if(typeof native != "undefined") {
// var newParams = window.btoa(params);
native.login(params);
}
}
} else if(isAndroid == true) {
if(typeof native != "undefined") {
// var newParams = window.btoa(params); //base64加密
native.login(params);
}
}
}
function WebViewJavascript(handlerName, params) {
setupWebViewJavascriptBridge(function(bridge) {
//这里是OC掉JS,需要给OC调用的函数必须写在这个函数里面
if(typeof WebViewJavascriptBridge != 'undefined') {
WebViewJavascriptBridge.callHandler(handlerName, params, function(response) {});
}
});
}
//这是必须要写的,用来初始化一些设置
function setupWebViewJavascriptBridge(callback) {
if(window.WebViewJavascriptBridge) {
return callback(WebViewJavascriptBridge);
}
if(window.WVJBCallbacks) {
return window.WVJBCallbacks.push(callback);
}
window.WVJBCallbacks = [callback];
var WVJBIframe = document.createElement('iframe');
WVJBIframe.style.display = 'none';
WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';
document.documentElement.appendChild(WVJBIframe);
setTimeout(function() {
document.documentElement.removeChild(WVJBIframe)
}, 0)
}
</script>