2つのWebページ間でパラメータを渡す

4344 ワード

1.JavaScriptはURLで値を伝える(簡単な少量のデータを渡す.URLは長さに一定の制限がある)(推奨しない)
まずURLでパラメータをURLに渡す(Aページで渡す)
location.href="url?name=xuanyuan" //                    &sex="man";

指定されたURLのパラメータを取得する必要があります(Bページ、すなわちパラメータが必要なページ取得)
/** 
 *      URL    
 * URL:http://www.quwan.com/index?name=tyler 
 *   :paramName URL   
 *     :getParam("name") 
 *    :tyler 
 */ 
function getParam(paramName) { 
    paramValue = "", isFound = !1; 
    if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) { 
        arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0; 
        while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++ 
    } 
    return paramValue == "" && (paramValue = null), paramValue 
} 

2.JavaScriptはCookieで値を伝えます(推奨)
Cookieは、スクリプトとサーバプログラムが1つのページで別のページの入力データを使用できるように、ブラウザにメモリを提供するために使用される特定のWebページまたはWebサイトに関連付けられた少量のネーミングデータを格納するブラウザです.
*Cookieは時間を設定する必要があります.時間を設定しないと、ブラウザが閉じたときに閉じるのがデフォルトです.
***Cookieのデフォルトフォーマットはname=usernameです.格納がjsonn形式:{name:username}データクッキーもname=usernameとして保存されます.取得時には正規検証が必要です.
まずはCookieの設定(Aページで渡すパラメータを設定)
document.cookie="name="+username;

Cookieの取得(Bページで必要なパラメータusernameを取得)
var username=document.cookie.split(";")[0].split("=")[1];//         

Cookieのパッケージ【一】(データ形式がjson形式の場合)をご紹介します


            var j = {                      //     json  
                name : "    ",
                age : 18
            };

            setCookie(j,2);//  Cookie。2     

            var val = getCookie("name"); //  Cookie(         )
            alert( val );//    

            alert( getCookie("age") );//18

            //Cookie  
            //  cookie
            function setCookie(vJson , time){
                var data = new Date( new Date().getTime() + time*24*60*60*1000 ).toGMTString();
                for (var key in vJson)document.cookie = key+"="+vJson[key]+"; expires="+data;
            }

            //  cookie
            function getCookie(key){
                var arr = document.cookie.match(new RegExp("(\\s|^)"+key+"=([^;]*)(;|$)"));//       
                return arr?arr[2]:"";
            }

            //  cookie
            function removeCookie(key){
                var json = {};
                json[key] = "";
                setCookie(json , -1);//                
            }


            /*function getCookie(key){
                var cookie = document.cookie;
                var reg = new RegExp("(\\s|^)"+key+"=([^;]*)(;|$)");    //   (\s|^)age=(.*)(;|$)
                var s = cookie.match(reg)[2];
                return s;
            }*/

        

一般フォーマット分装【二】(データフォーマットは一般フォーマット)
//  Cookie
function addCookie(name,value,expireHours){
    var cookieString=name+"="+escape(value);
    //          
    if(expireHours>0){
        var date=new Date();
        date.setTime(date.getTime+expireHours*3600*1000);
        cookieString=cookieString+"; expire="+date.toGMTString();
    }
    document.cookie=cookieString;
}
//  Cookie
function getCookie(name){
    var strCookie=document.cookie;
    var arrCookie=strCookie.split("; ");
    for(var i=0;i

3 JavaScriptはHTML 5を介してローカルに転送値を格納します(個人的にはクッキーのような感じで、データは自機に格納します)(推奨)
ローカルストレージの方法
localStorage.name = "    ";
localStorage.age = 18;//       

ストレージの取得
var myname = localStorage["name"];//myname      

ローカルストレージを削除する場合
//         
localStorage.removeItem("name");  

タイミングクリアが必要な場合は、タイマsetInterval(「function()」、time(ミリ秒))とタイマsettimout(「function()」、time(ミリ秒))を使用します.前者はループ操作function関数、後者はタイミング操作関数functionです.ループを必要とする場合は再帰を使用します.(本章の主要部分ではなく簡単に述べる)