APPCAN開發筆記:html頁面之間的參數傳遞:使用js獲取url中的參數,以及在APPCAN中不能使用的解決方法


用PHP的GET/POST方式來傳遞方式已經是司空見慣了,但是如果我的頁面是一個靜態的html的頁面,想傳遞參數的時候要怎么辦呢?在APPCAN的開發中我們會經常遇到這樣的問題,因為所有的頁面都是靜態的HTML頁面,服務器的數據請求都是通過ajax來實現的,那我們如何訪問一個帶參數的頁面呢?

首先想到的是通過js來獲取url中的參數,然后獲得參數后進行ajax數據交換來請求當前頁面的內容,具體方法如下:

function GetRequest(key){
    var url = location.search;
    if(url.indexOf("?") != -1){
        var str = url.substr(1);
        strs = str.split("&");
        for(var i=0; i <strs.length;i++ ){
            if(key == strs[i].split("=")[0])
                var res = unescape(strs[i].split("=")[1]);
        }
    }
    return res;
}    

GetRequest是一個簡單的用來獲取url中key這個鍵對應的值,比如 goods.html?id=1頁面中,我們通過GetRequest("id")就可以獲得對應的值:1。

但是很不幸,到了APPCAN中,PC模擬器上一切正常,在安卓機上進行測試的時候發現,他居然不執行!

這樣一來,我們只能考慮通過其他的方法來達到傳參這個目的了,

備選方案是通過localstorage來實現,在點擊跳轉頁面之前,先將參數存入localstorage,然后在新頁面中獲取這個參數,具體的存儲及獲取localstorage的方法如下:

function setLocStorage(key,val){ 
    appcan.locStorage.setVal(key,val);  
}

function getLocStorage(key){     
    var val=appcan.locStorage.getVal(key);
    return val;   
}

大功告成,雖然覺得有些別扭,但是暫時還沒有想到其他比較好的替代方案,就先用着了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM