PhoneGap 白名單安全機制 navigator.app 加載外部頁面返回以及退出介紹

1、 Phonegap 白名單安全機制javascript

  Phonegap應用的頁面大多存在於本地,但有時須要加載外部的Web頁面到應用內置的瀏覽器css

  視圖中已完成特定的應用功能,出於安全性考慮,PhoneGap 設立了白名單安全機制,經過它來 控制可以加載到內置瀏覽器視圖的內容來源.html

  Android 不經過白名單安全機制的話調用外部瀏覽器java

  IOS 不經過白名單安全的話 會直接拒絕jquery

 

 

2、Android 配置白名單web

  在res/xml/config.xml這個文件裏進行配置瀏覽器

  

 

 

 

 

3、IOS 配置 以及 Wp7/wp8配置白名單 查看文檔緩存

     http://www.phonegap100.com/doc/guide_whitelist_index.md.html#Domain%20Whitelist%20Gu ide安全

 

 

 

4、Navigator.app 主要對象闡述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();
    }
    
    //加載外部頁面    
    /*
        第一個參數表示要打開的網站的地址
        第二個參數是一個對象,對象裏有三個參數分別是:
            一、wait:2000  表示當觸發加載外部頁面的時候先等2秒鐘,2秒後才加載
            二、loadingDialog:"Wait,Loading App" 這個參數是沒有效果的  無論
            三、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>
相關文章
相關標籤/搜索