PhoneGap 白名单安全机制 navigator.app 加载外部页面返回以及退出介绍
一、 Phonegap 白名单安全机制
Phonegap应用的页面大多存在于本地,但有时需要加载外部的Web页面到应用内置的浏览器
视图中已完成特定的应用功能,出于安全性考虑,PhoneGap 设立了白名单安全机制,通过它来 控制能够加载到内置浏览器视图的内容来源.
Android 不通过白名单安全机制的话调用外部浏览器
IOS 不通过白名单安全的话 会直接拒绝
二、Android 配置白名单
在res/xml/config.xml这个文件里进行配置

三、IOS 配置 以及 Wp7/wp8配置白名单 查看文档
http://www.phonegap100.com/doc/guide_whitelist_index.md.html#Domain%20Whitelist%20Gu ide
四、Navigator.app 主要对象阐述
navigator.app.loadUrl() 加载 web 页面的应用程序中或者系统默认的浏览器中
navigator.app.cancelLoadUrl() 在 web 页面成功加载之前取消加载
navigator.app.backHistory() 返回上一次浏览页面
navigator.app.clearHistory() 清空浏览历史
navigator.app.clearCache() 清空程序的资源文件缓存
navigator.app.exitApp() 退出应用程序
navigator.splashscreen.show(); 调用显示启动应用程序的背景图片
navigator.splashscreen.hide(); 调用隐藏启动应用程序的背景图片
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Mobile Web 应用程序</title>
<link href="../jquery.mobile-1.3.2.css" rel="stylesheet" type="text/css"/>
<script src="../jquery.js" type="text/javascript"></script> <script src="../jquery.mobile-1.3.2.js" type="text/javascript"></script>
<script src="../cordova.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
document.addEventListener("deviceready", myDeviceReadyListener, false);
});
function myDeviceReadyListener(){
//这里设备一加载完毕就跳转
//navigator.app.loadUrl("http://m.chinaz.com/", {wait:0, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000}); console.log("设备加载完毕!");
$('#loadUrl').click(function(){
loadUrl();
})
$('#exitApp').click(function(){
exitApp();
}) $('#splashscreenShow').click(function(){
splashscreenShow();
}) } //退出app
function exitApp() {
navigator.app.exitApp();
} //加载外部页面
/*
第一个参数表示要打开的网站的地址
第二个参数是一个对象,对象里有三个参数分别是:
1、wait:2000 表示当触发加载外部页面的时候先等2秒钟,2秒后才加载
2、loadingDialog:"Wait,Loading App" 这个参数是没有效果的 不管
3、loadUrlTimeoutValue: 60000 表示超时,但加载外部页面60秒后还没加载到的话就视为超时
*/
function loadUrl(){
navigator.app.loadUrl("http://m.chinaz.com/", {wait:2000, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000});
} //调用显示启动应用程序的背景图片
function splashscreenShow(){
navigator.splashscreen.show();
}
</script>
</head>
<body>
<div data-role="page" id="indexPage">
<div data-role="header">
<h1>第 1 页</h1>
</div>
<div data-role="content">
<a href="#" data-role="button" id="loadUrl">加载chinaz</a>
<a href="#" data-role="button" id="splashscreenShow">splashscreenShow</a>
<a href="#" data-role="button" id="exitApp">退出app</a>
</div>
<div data-role="footer">
<h4>底部</h4>
</div>
</div> </body>
</html>
PhoneGap 白名单安全机制 navigator.app 加载外部页面返回以及退出介绍的更多相关文章
- ionic3.x版本-实现点击tab导航栏判断是否已经登陆然后加载不同页面,和退出登录功能。
html代码: <ion-tabs #myTabs> <ion-tab [root]="tab1Root" tabTitle="首页" tab ...
- android 视频的缩略图 缓存机制和 异步加载缩略图
在这次的工作开发项目中,涉及到一个视频缩略图的视频列表:这个在大家看来,制作视频缩略图就是两行代码就搞定的事.确实是这样的,百度一下,每个帖子都知道制作视频缩略图的方法,在这里确实也是一样的,但是我要 ...
- Java类加载机制及自定义加载器
转载:https://www.cnblogs.com/gdpuzxs/p/7044963.html Java类加载机制及自定义加载器 一:ClassLoader类加载器,主要的作用是将class文件加 ...
- 【Android开发那点破事】打开APP加载页面实现
今天的破事呢就说说APP加载页面的实现.一般情况下,当APP打开的时候,我们需要做很多事情,比如检查网络连接啊,初始化一些配置啊等等.我们可以让这些事情在APP完全打开之前做完,然后呢在打开的过程中显 ...
- 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件
[源码下载] 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件 作者 ...
- 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件
CustomResource ResourceDictionary 加载外部的 ResourceDictionary 文件 示例1.演示“CustomResource”相关知识点Resource/Cu ...
- 使用js加载器动态加载外部Javascript文件
原文:http://www.cnblogs.com/xdp-gacl/p/3927417.html 今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js var ...
- iOS “请在微信客户端打开链接” UIWebview加载H5页面携带session、cookie、User-Agent信息 设置cookie、清除cookie、设置User-Agent
公司新开的一个项目..内容基本上是加载H5页面显示..当时觉得挺简单的..后来发现自己掉坑里了..一些心理历程就不说了..说这个项目主要用到的知识点吧..也是自己踩得坑. 首先说说..这个项目上的内容 ...
- jQuery实现图片预加载提高页面加载速度和用户体验
我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题呢?首先我们会想到的是提高服务器性能,使用静态缓存等手段来加快图 ...
随机推荐
- REDIS与MEMCACHED的区别 8大点
如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储.2 Redis支持数据 ...
- SSIS教程:创建简单的ETL包 -- 6. 对项目部署模型使用参数(Using Parameters with the Project Deployment Model)
在本课中,将修改在第 5 课: 添加包部署模型的包配置中创建的包,以便使用项目部署模型.您将使用一个参数替换该配置值,以便指定示例数据位置.还可以复制本教程附带的已完成的 Lesson 5 包. 使用 ...
- Python——基本的方法(2)
Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,可以直接从Python的官方网站查看文档. 常见的方法: 绝对值方法abs(-100),得到100: 最 ...
- 撩课-Web大前端每天5道面试题-Day7
1. 你能描述一下渐进增强和优雅降级之间的不同吗? 定义: 优雅降级(graceful degradation): 一开始就构建站点的完整功能, 然后针对浏览器测试和修复 渐进增强(progressi ...
- SpringMVC_关于<url-pattern>
一.配置 在没有特殊要求的情况下,SpringMVC的中央调度器DispatcherServlet的<url-oattern/>常使用后缀匹配的方式,如写*do. 二.不能写为/* 这 ...
- HDU 4747(AC不能)
http://acm.hdu.edu.cn/showproblem.php?pid=4747
- Redis-概述
Redis支持的类型: String,List,Map,Set,Sorted set Redis的持久化: 1.Redis DataBase (RDB): RDB是在某个时间点将数据写入一个临时文件, ...
- Q:接口与抽象类
博文回答一下两个问题: 接口和抽象类的区别 选用接口和抽象类的依据 对于问题1: 从java语法的角度上来说,接口的所有成员和方法都是public的,且其方法均为abstract的.直到jdk1.8之 ...
- 关于node npm的一个解决方法
解决Error: ENOENT: no such file or directory, scandir 'D:\IdeaWork\code-front-jet\node_modules\.npmins ...
- js 控制选中文字
//脚本获取网页中选中文字 var word = document.selection.createRange().text; //获取选中文字所在的句子 var range = documen ...