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

要想App里边的链接在指定的内部浏览器或者系统浏览器打开,需要使用cordova-plugin-inappbrowser插件;

当我们在APP中需要跳转到一个特定的浏览器网页时,用这个插件会很方便。

1.首先要在我们的项目中安装这个插件:cordova plugin add cordova-plugin-inappbrowser,不过使用cordova安装,不会将该包显示在package.json文件中,也就是说,当我们再次reset此项目时,这个插件不会自动再次安装了,所以我门需要使用这个命令安装可避免上述情况发生:ionic plugin add cordova-plugin-inappbrowser。如果你已经使用cordova安装过了,需要再使用cordova将插件卸载,然后再用ionic安装;

2.使用方法:

cordova.InAppBrowser.open(URL,target,options)

open()中的URL参数为浏览器跳转的地址;

target的参数有三种:

_self:如果URL地址在WhiteList中,则用Cordova的WhiteList将其打开;

_blank:直接在App中将其地址打开;

_system:则是用手机默认浏览器将新页面打开

options参数包含以下信息:

location:设置为yes或no来打开或关闭插件的locationbar;

hidden:设置为yes则加载出页面但不显示;设置为no则正常加载页面;

Android独有属性:

zoom:设置为yes则显示缩放浏览器页面的按钮,设置为no则不显示缩放按钮;

hardwareback:设置为yes则调用Android返回键回到前一界面,设置为no则返回键为退出浏览器页面;

iOS独有属性:

closebuttoncaption:设置yes则显示Done按钮,设置为no则隐藏Done按钮,点击Done按钮关闭浏览器页面;

toolbar:设置为yes则显示toolbar;no则隐藏toolbar(toolabar相当于Android的返回键功能);

keyboardDisplayRequiresUserAction:设置为yes或者no来控制打开键盘时是否通过JavaScript调用focus()接收焦点,默认为yes;

toolbarposition:设置为top或者bottom,使工具栏显示在窗口的顶部或底部;

3.简单例子:

$scope.openUrl=function(){
if (!cordova.InAppBrowser) {
return;
}
// toolbar=yes 仅iOS有效,提供关闭、返回、前进三个按钮
// toolbarposition=top/bottom 仅iOS有效,决定toolbar的位置
// closebuttoncaption=关闭 仅iOS有效
cordova.InAppBrowser.open('http://www.baidu.com', '_blank', 'location=no,toolbar=yes,toolbarposition=top,closebuttoncaption=关闭');
}

openUrl是我写的一个方法,在html页面中在相应位置用ng-click去调用这个方法,此时就会触发浏览器跳转的事件,

根据open()中的设置,URL参数是百度的网址;

target参数为"_blank",也就是在App中打开网址的页面;

options参数为iOS系统下会显示toolbar,toolbar的位置在顶部,closebuttoncaption隐藏Done按钮。

cordova在app内部指定浏览器打开链接插件:cordova-plugin-inappbrowser的更多相关文章

  1. winform 指定浏览器打开链接

      Process myProcess = new Process();   myProcess.StartInfo.FileName = "firefox.exe";//&quo ...

  2. 在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转到appstore下载该应用

    在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转到appstore下载该应用 须要在project中设置例如以下: 1.打开project中的myapp-Info.plist文件 2.打开 ...

  3. 【317】python 指定浏览器打开网页 / 文件

    一.python 打开浏览器的方法: 1. startfile方法(打开指定浏览器) import os os.startfile("C:\Program Files\internet ex ...

  4. [微信跳转浏览器]微信跳转外部浏览器下载APP源码,可以实现自动跳转外部浏览器打开链接

    基于微信后端开发了一款微信推广助手,使用了本程序生成的链接,用户在微信任意环境下点击链接或者扫描二维码,可以实现直接跳转手机默认浏览器并打开指定网页. 我们开发的此款跳转产品,应用范围广泛.除了下载A ...

  5. 微信网页浏览器打开链接后跳转到其他浏览器下载APK文件包

    做微信营销活动或者APK下载推广时候,是无法直接下载,做到微信中正常使用呢?这就要借助一些工具来实现有效的操作. 安卓手机的话是通过点击链接,直接跳转出微信.自动打开手机默认的浏览器.但是这个方法IO ...

  6. 拦截webview调用系统浏览器打开链接

    给WebView设置自定义的WebViewClient即可 webview.setWebViewClient(new WebViewClient(){ @Override public boolean ...

  7. phonegap中使用自带浏览器打开链接

    <center><a id="ssl2" href="#" onclick="window.open('http://127.0.0 ...

  8. JS实现让其他浏览器自动转至微信浏览器打开链接

    //判断是否是pc function is_pc() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUser ...

  9. 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP

    不管是app的下载链接还是普通文件的链接在微信内置浏览器或者QQ内置浏览器都会被屏蔽.这是微信对第三方下载域名实施的拦截政策.被拦截了用户在微信内打开就会提示“已停止访问该网页”. 那么当我们遇到这个 ...

随机推荐

  1. POJ2503——Babelfish

    Description You have just moved from Waterloo to a big city. The people here speak an incomprehensib ...

  2. Thread message loop for a thread with a hidden window? Make AllocateHwnd safe

    Thread message loop for a thread with a hidden window? I have a Delphi 6 application that has a thre ...

  3. nslookup 查询IPv6

    > nslookup>  set type=AAAA > ipv6 domain name  (ipv6.google.com, time.buptnet.edu.cn)

  4. 稀疏自动编码之反向传播算法(BP)

    假设给定m个训练样本的训练集,用梯度下降法训练一个神经网络,对于单个训练样本(x,y),定义该样本的损失函数: 那么整个训练集的损失函数定义如下: 第一项是所有样本的方差的均值.第二项是一个归一化项( ...

  5. Owin管道与asp.net管道模型

    ------2016.3.6 更新 文中提到没有Microsoft.Owin.Host.SystemWeb 这个dll 便不会加载Startup.Configuration,因为这个dll 其中有个O ...

  6. shared_ptr注意事项

    对shared_ptr的Copy构造和Copy赋值,会改变引用计数,但是对shared_ptr中原始资源的Copy构造和Copy赋值,不会改变引用计数.因此存在下面的危险情况: 1.获取资源时,初始化 ...

  7. cdoj 31 饭卡(card) 01背包

    饭卡(card) Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/31 Des ...

  8. Android APK反编译得到Java源代码和资源文件

    在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件. 一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD- ...

  9. [AngularJS] Best Practise - Minification and annotation

    Annotation Order: It's considered good practice to dependency inject Angular's providers in before o ...

  10. UVA 1069 - Always an integer(数论)

    1069 - Always an integer 题意:给定一个多项式,推断是否总是整数 思路:LRJ大白上的例题,上面给出了证明,仅仅要1到k + 1(k为最高次数)带入方程都是整数,那么整个方程就 ...