Changeset 19715 for platform

Show
Ignore:
Timestamp:
09/22/08 11:57:36 (5 years ago)
Author:
thorikawa
Message:

将来の拡張を容易にするため、パラメータ解析時に任意の関数でバリュー値を処理できるようにした。

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • platform/firefox/FireMobileSimulator/trunk/src/chrome/content/common/util.js

    r19591 r19715  
    4747} 
    4848 
    49 function getParamsFromPath(path){ 
     49/** 
     50 *  
     51 * @param {} path パス 
     52 * @param {} func パラメータの値をデコードする関数(デフォルトではdecodeURIが使用される) 
     53 * @return {} 
     54 */ 
     55function getParamsFromPath(path, func){ 
    5056        var params = {}; 
    5157        var qindex = path.indexOf("?"); 
    5258        if (qindex >= 0) { 
    53                 params = getParamsFromQuery(path.substring(qindex+1)); 
     59                params = getParamsFromQuery(path.substring(qindex+1), func); 
    5460        } 
    5561        return params; 
    5662} 
    5763 
    58 function getParamsFromQuery(q){ 
     64/** 
     65 *  
     66 * @param {} q クエリー 
     67 * @param {} func パラメータの値をデコードする関数(デフォルトではdecodeURIが使用される) 
     68 * @return {} 
     69 */ 
     70function getParamsFromQuery(q, func){ 
     71        if(!func || !func instanceof Function) func = decodeURI; 
    5972        //dump("##getParamsFromQuery start\n"); 
    6073        var params = {}; 
     
    6780                        var value; 
    6881                        try { 
    69                                 value = decodeURI(values[i].substring(eindex+1)); 
     82                                value = func(values[i].substring(eindex+1)); 
    7083                        } catch (exception) { 
    7184                                dump("[msim]Warning:decodeURI:"+values[i].substring(eindex+1)+"\n"); 
     
    182195        var r = ""; 
    183196        for (var i in params) { 
     197                if(i.toUpperCase() == "UID" && params[i].toUpperCase() == "NULLGWDOCOMO"){ 
     198                        params[i] = pref.copyUnicharPref("msim.config.DC.uid"); 
     199                } 
    184200                r += '<input type="hidden" name="'+i+'" value="'+params[i]+'" />\n'; 
    185201        }