PhoneGap 白名单安全机制 navigator.app 加载外部页面返回以及退出介绍

一、 Phonegap 白名单安全机制

  Phonegap应用的页面大多存在于本地,但有时需要加载外部的Web页面到应用内置的浏览器

  视图中已完成特定的应用功能,出于安全性考虑,PhoneGap 设立了白名单安全机制,通过它来 控制能够加载到内置浏览器视图的内容来源.

  Android 不通过白名单安全机制的话调用外部浏览器

  IOS 不通过白名单安全的话 会直接拒绝

 

 

二、Android 配置白名单

  在res/xml/config.xml这个文件里进行配置

  PhoneGap 白名单安全机制 navigator.app 加载外部页面返回以及退出介绍

 

 

 

 

三、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>

 

你可能感兴趣的:(navigator)