花门楼前见秋草,岂能贫贱相看老。这篇文章主要讲述[Cordova inAppBrowser 在App内打开浏览器]相关的知识,希望能为你提供帮助。
【[Cordova inAppBrowser 在App内打开浏览器]】方案1:
使用Cordova插件
cordova-plugin-inappbrowser
1.
添加插件
cordova plugin add cordova-plugin-inappbrowser
2. 调用以及参数
cordova.InAppBrowser.open(url, target, options); 或者window.open = cordova.InAppBrowser.open; window.open(url, target, options);
url: 如果包含 Unicode 字符, 调用 encodeURI(url);
target 包括: _self, url在白名单中 则在cordova webview中打开 否则在 inAppBrowser中打开
_blank, 在 inAppBrowser中打开
_system, 在系统浏览器中打开, 比如Chrome/Safari
options 包括:"location=yes/no" 地址栏
"hidden=yes/no" no 是默认的, yes则正常load 但是不显示,通过调用.show() .close()来显示或关闭,如下
其他options请参考官网
var target = "_blank"; var options = "location=yes,hidden=yes"; inAppBrowserRef = cordova.InAppBrowser.open(url, target, options); inAppBrowserRef.addEventListener(‘loadstart‘, loadStartCallBack); inAppBrowserRef.addEventListener(‘loadstop‘, loadStopCallBack); inAppBrowserRef.addEventListener(‘loaderror‘, loadErrorCallBack); ... function loadStopCallBack() { if (inAppBrowserRef != undefined) { inAppBrowserRef.show(); } } ...
方案2:
使用cordova插件 cordova-plugin-safariviewcontroller
1. 添加插件
$ ionic cordova plugin add cordova-plugin-safariviewcontroller $ npm install --save @ionic-native/safari-view-controller
2. 调用以及参数
...
if (typeof SafariViewController !== ‘undefined‘) { SafariViewController.isAvailable(function (available) { console.log(" Isavailable"); if (available) { console.log("Safari Isavailable"); SafariViewController.show({ url: encodeURI(url), toolbarColor: ‘#0091ea‘, tintColor: ‘#0091ea‘, controlTintColor: "#0091ea" }); } else { window.open(encodeURI(url), ‘_blank‘, ‘location=no‘); } }); } else { window.open(encodeURI(url), ‘_blank‘, ‘location=no‘); }
推荐阅读
- 安卓绿色联盟会员持续招募中
- appium 切换native/ webview,findby,还有页面元素定位一直小于0的问题的解决
- 2019杭电多校十 1011 Make Rounddog Happy(rmq + 分治)
- Android插件化原理Activity插件化
- eclipse中搭建Android开发环境
- Appium-处理系统弹窗
- Spring整合MyBatis (使用扫描包配置mapper代理)
- Android之使用传感器获取相应数据
- android虚拟机的垃圾收集