场景:登陆用的是外部的、走人家的认证然后跳回自己的APP。cordova跳出去怎么让他携带参数自动跳回呢
解决:借助InAppBrowser
cordova plugin add cordova-plugin-inappbrowser
安装完了。看代码
var _this = this;
var win = cordova.InAppBrowser.open(config.djgLoginUrl + '?Type=1', '_blank', 'location=no,hidden=yes');
win.show();
win.addEventListener("loadstop", function () {
var loop = setInterval(function () {
win.executeScript(
{
code: "localStorage.getItem('Uid')"//登陆成功后台的代码写入浏览器Uid
},
function (values) {
var name = values[0];
if (name) {
clearInterval(loop);
//设置学生端Token
console.log(name)//这个就是后台给的Uid
win.close();
}
}
);
});
});
注意、别用alert进行输出测试、
过程描述:打开要认证的网页、加载完成后设置定时器、定时器最小时间去执行win.executerScript、win.executerScript调用回调函数。回调函数内会查看win.executerScript获取的localstorage的Uid的值、有了就干掉定时器、关掉网页显示本页。