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里边的链接在指定的内部浏览器或者系统浏览器打开,需要使用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的更多相关文章
- winform 指定浏览器打开链接
Process myProcess = new Process(); myProcess.StartInfo.FileName = "firefox.exe";//&quo ...
- 在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转到appstore下载该应用
在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转到appstore下载该应用 须要在project中设置例如以下: 1.打开project中的myapp-Info.plist文件 2.打开 ...
- 【317】python 指定浏览器打开网页 / 文件
一.python 打开浏览器的方法: 1. startfile方法(打开指定浏览器) import os os.startfile("C:\Program Files\internet ex ...
- [微信跳转浏览器]微信跳转外部浏览器下载APP源码,可以实现自动跳转外部浏览器打开链接
基于微信后端开发了一款微信推广助手,使用了本程序生成的链接,用户在微信任意环境下点击链接或者扫描二维码,可以实现直接跳转手机默认浏览器并打开指定网页. 我们开发的此款跳转产品,应用范围广泛.除了下载A ...
- 微信网页浏览器打开链接后跳转到其他浏览器下载APK文件包
做微信营销活动或者APK下载推广时候,是无法直接下载,做到微信中正常使用呢?这就要借助一些工具来实现有效的操作. 安卓手机的话是通过点击链接,直接跳转出微信.自动打开手机默认的浏览器.但是这个方法IO ...
- 拦截webview调用系统浏览器打开链接
给WebView设置自定义的WebViewClient即可 webview.setWebViewClient(new WebViewClient(){ @Override public boolean ...
- phonegap中使用自带浏览器打开链接
<center><a id="ssl2" href="#" onclick="window.open('http://127.0.0 ...
- JS实现让其他浏览器自动转至微信浏览器打开链接
//判断是否是pc function is_pc() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUser ...
- 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
不管是app的下载链接还是普通文件的链接在微信内置浏览器或者QQ内置浏览器都会被屏蔽.这是微信对第三方下载域名实施的拦截政策.被拦截了用户在微信内打开就会提示“已停止访问该网页”. 那么当我们遇到这个 ...
随机推荐
- MFC中OnDraw()和OnPaint()的区别[转]
问题 问题:我在视图画的图象或者文字,当窗口改变后为什么不见了?OnDraw()和OnPaint()两个都是解决上面的问题,有什么不同? OnDraw()和OnPaint()好象兄弟俩,因为它们的工作 ...
- 【转】 解决IllegalStateException: Can not perform this action after onSaveInstanceState
今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState ...
- PL/pgSQL RETURNS TABLE 例子
实验如下: RETURNS TABLE 中的变量名和SQL文中的变量名同名时,执行时会出错: pgsql=# create table sales(itemno integer,quantity in ...
- 用NDK编译lua库
Android.mk是这样的 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := lua LOCAL_SRC_FILE ...
- 你已经毁了JavaScript
以前 过去我们在页面上用很时尚的方式写了一些确实很可怕的代码,它给我们带来了巨大的麻烦.可能很多人现在还在这样做,但他们不会看这篇博文,我们可以假装他们不存在. JS的伟大/了不起/让人惊讶的地方在于 ...
- Codeforces Round #140 (Div. 1) D. The table 构造
D. The table 题目连接: http://www.codeforces.com/contest/226/problem/D Description Harry Potter has a di ...
- Codeforces Round #306 (Div. 2) D. Regular Bridge 构造
D. Regular Bridge Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/550/pro ...
- [Angular2 Router] Programmatic Router Navigation via the Router API - Relative And Absolute Router Navigation
In this tutorial we are going to learn how to navigate programmatically (or imperatively) by using t ...
- oracle db打one-off-patch 一例
由于EBS form界面有一个报错,是一个小bug,以下打一个小patch修补一下. [以下的过程没有停库] 解压p8496830_111070_Linux-x86-64.zip cd 8496830 ...
- 教程:如何减小iOS应用程序的大小?
本文译自:Reducing the size of my App Q: 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速? A: 本文收集了一些减小程序安装包大小的相关技巧(当第一次下载和安装 ...