方案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(" Is available");
if (available) {
console.log("Safari Is available");
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');
}

  

[Cordova inAppBrowser 在App内打开浏览器]的更多相关文章

  1. jQuery判断当前页面是APP内打开还是浏览器打开

    一.代码如下: function check_useragent() { var browser = { versions: function() { var u = navigator.userAg ...

  2. 在app内打开自己app的专用设置界面

    在我们的APP中,可能会使用多种服务,例如定位.推送.相册.拍照.通讯录等.选择是否允许一般只出现在安装app后第一次打开时,可是我们依然需要在使用到某种服务的时候判断是否用户是否允许了该服务,因为用 ...

  3. iOS app内打开safari完成google的OAuth2认证

    最近使用google的oauth认证,发现不再允许使用UIWebview进行认证了,必须使用系统游览器,使用游览器也不一定要在app之间跳转,ios使用SFSafariViewController就可 ...

  4. cordova在app内部指定浏览器打开链接插件:cordova-plugin-inappbrowser

    原文网址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-plugin-inappbrowser/ 要想App里边的 ...

  5. 微信内嵌浏览器打开手机浏览器下载APP(APK)的方法

    想必大家会经常碰到网页链接在微信内无法打开和微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下四点 1.网页链接被举报次数 ...

  6. 微信内分享第三方H5链接无法使用内置浏览器打开的解决方案

    很多朋友在微信内想分享转发H5链接的时候都会很容易碰到H5链接在微信内无法打开或在微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢, ...

  7. Nodejs一键实现微信内打开网页url自动跳转外部浏览器访问的功能

    前言 现如今微信对第三方推广链接的审核是越来越严格了,域名在微信中分享转发经常会被拦截,一旦被拦截用户就只能复制链接手动打开浏览器粘贴才能访问,要不然就是换个域名再推,周而复始.无论是哪一种情况都会面 ...

  8. 有哪些api接口可以实现微信自动唤醒浏览器,下载app,打开网页

    现在微信渠道可以说是拉新最快的渠道,因为微信具备强裂变性.但是目前微信对第三方下载链接的拦截是越来越严格了,那么想要在微信内肆无忌惮地推广链接就需要用到微信跳转浏览器的接口,那如何获取该接口呢?   ...

  9. 超简单(两步)-微信怎么实现打开外部浏览器,下载app,打开网页URL

    现在微信渠道可以说是拉新最快的渠道,因为微信具备强裂变性.但是目前微信对第三方下载链接的拦截是越来越严格了,那么想要在微信内肆无忌惮地推广链接就需要用到微信跳转浏览器的接口,那如何获取该接口呢?   ...

随机推荐

  1. Data Lake Analytics + OSS数据文件格式处理大全

    0. 前言 Data Lake Analytics是Serverless化的云上交互式查询分析服务.用户可以使用标准的SQL语句,对存储在OSS.TableStore上的数据无需移动,直接进行查询分析 ...

  2. SpringCloud系列——SSO 单点登录

    前言 作为分布式项目,单点登录是必不可少的,文本基于之前的的博客(猛戳:SpringCloud系列——Zuul 动态路由,SpringBoot系列——Redis)记录Zuul配合Redis实现一个简单 ...

  3. K2制作流程

    K2流程制作注意事项 1:分析需求 2:实施 步骤1:绘制流程图 步骤2:添加datafield[必备:ActJumped  IsPass] 步骤3:添加线规则(如下图所示,在添加完毕规则之后,再给同 ...

  4. 数据结构——Java实现顺序栈

    一.分析 栈是限定仅在表的一端进行插入或删除操作的线性表,对于栈来说,操作端称为栈顶,另一端则称为栈底,栈的修改是按照后进先出的原则进行的,因此又称为后进先出的线性表. 顺序栈是指利用顺序存储结构实现 ...

  5. 1.常用turtle功能函数

    #turtle常用命令汇总,括号中的参数仅仅作为举例使用,可根据需要修改 #设置画面背景色 turtle.bgcolor("black") #设置窗口大小和在屏幕上的坐标 turt ...

  6. Java中1.0 / 0.0 会输出什么?

    蓝桥杯失利后发现算法与数据结构的重要性,开始学习算法,刚刚在看<算法4>,看到了这么个东西,让我对java中的size运算有了新的感悟. 在java中输出1/0会发生什么,毫无疑问会报异常 ...

  7. 给dao层注入jdbcTemplate时的一个强行bug(jdbcDaoSupport不要随便用!用了要记得!)

    记录Dao层一个鱼唇至极的错误 这一天我在使用Spring的进行注解配置项目时, 我的Idea给我抛了一个如下的错误: Exception in thread "main" org ...

  8. Android Studio工程项目打包成SDK(jar或aar格式)

    Android工程项目打包成SDK 在app的gradle下进行设置: (1)将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com ...

  9. 读书笔记之_Win10 与Jmeter5.1.1界面兼容:

    读书笔记之win10 与jmeter5.1.1界面兼容:   调整前:

  10. C# ComboBox绑定值问题

    使用这种方式始终绑定值有问题: cbxSchool.DataSource = schoolList; cbxSchool.DisplayMember = "school_name" ...