ホームページ  >  記事  >  ウェブフロントエンド  >  js を使用して cookies_javascript スキルを操作することで得られる小さなメリットを共有する

js を使用して cookies_javascript スキルを操作することで得られる小さなメリットを共有する

WBOY
WBOYオリジナル
2016-05-16 17:23:46964ブラウズ

この問題を明確に説明するには、最初から始めなければなりません。

まず、バックグラウンドからパラメータを設定し、フィールドに入力します。このフィールドはキーワードと呼ばれ、このパラメータの値は efmis://|efmfj|username|2200|0||2014|http と呼ばれます。 ://10.20 .1.54:7001/cssServerportal222012/|||||02、この値の意味に関係なく、多くの人がこれより複雑な文字列に遭遇したことがあると思います。バックエンドが設定された後、フロントエンドは ${tag_bean.keywords} のように表示できます。バックエンドがどのように設定されていても、フロントエンドは計画どおりに表示されます。最初の問題は、 の位置にあります。ユーザー名の embed は現在ログインしているユーザーのユーザー名であり、動的コードである必要があります。 efmis://|efmfj|${username}|2200|0||2014|http://10.20.1.54:7001/cssServerportal222012 と書くべきでしょうか?この方法で記述すると、EL 式は変更されずに表示され、当面は EL 式のネストを使用できるかどうかは考慮されません。このような文字列を処理する必要があります。

この文字列は、js メソッドのパラメーターとして使用されます。例:

コードをコピーコードは次のとおりです:

  • [/#if] path="${c .path}" onclick ="clickClient(this.path,this.keywords);">



  • clickClient メソッドは呼び出されます。単なる移行方法です。

    コードをコピー コードは次のとおりです。
    clickClient = function(path,keywords){
    //キーワードの解析と分解を開始します
    keywords =Keywords.replace("username","${user.username}");
    var suffIndex=keywords.indexOf("http"); >var prefix = キーワード.substr(0,suffIndex-1);
    var suffix = キーワード.substr(suffIndex-1);
    var preIndex=prefix.lastIndexOf("|") 1; year = prefix.substr(preIndex);
    prefix = prefix.substr(0,preIndex);
    //キーワードの解析と分解の終了
    //URL をマージします
    keywords = prefix $(" #year").val () suffix;
    clientInvoke(path,keywords);
    }


    このメソッドの最終目的は、clientInvoke メソッドとパラメータを呼び出すことです。渡されたキーワードは変更されます。特定の処理の後、最初に user を ${user.username} に置き換えます。これにより、EL 式が含まれている場合でも、現在のユーザー名を動的に呼び出すという目的が達成されます。 。 2014 年も動的で切り替え可能に設定されている場合、文字列は 3 つの部分に分解する必要があります:
    プレフィックス: efmis://|efmfj|username|2200|0 ||

    年: 2014

    サフィックス: |http://10.20.1.54:7001/cssServerportal222012/||||02

    ドロップダウン メニューで年を選択します。 clickClient メソッドをタッチすると、現在のオプションから年がすぐに取り出され、プレフィックスとサフィックスと連結されるため、年を柔軟に変更できます。



    コードをコピー コードは次のとおりです: 年の切り替え




    コードをコピー
    コードは次のとおりです:

    $(document).ready(function(){
    if(getCookie("year")==null){//Cookie が存在しません。
    setCookie(" に入れてください) Year" ,$("#year").val());
    }else{
    //Cookie はすでに存在するので、それを取り出します
    $("#year").val(getCookie ("年 "));
    }
    });
    //Cookie を設定します
    関数 setCookie(name,value)
    {
    //var Days = 30; >// var exp = new Date();
    //exp.setTime(exp.getTime() 365*24*60*60*1000);
    document.cookie = name "=" エスケープ (値) );
    // ";expires=" exp.toGMTString();
    }
    // クッキーを読み取ります
    function getCookie(name)
    {
    var arr,reg=new RegExp( "(^| )" name "=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg)) return unescape(arr[2]) ;
    else return null;
    }

    もちろん、年を切り替えると Cookie の値も変わります:

    コードをコピー コードは次のとおりです。
    switchyear=function(year){
    setCookie(" Year",year)
    ;

    ユーザーの要件に従って、必ず 2014 をデフォルトにしてください。各 Cookie の切り替え操作が完了したら、ブラウザを閉じて再度開き、ホームページにログインすると、年は最後に切り替えられた値ではなく 2014 のままになります。したがって、Cookie の有効期限を設定する必要はなく、ブラウザを閉じた後に自動的にクリアされるようにするだけで済みます。

    もちろん、ブラウザが Cookie を長期間記憶することが予想される場合は、有効期限を設定します。setCookie のコメント コードを使用して有効期限を設定します。興味のある方は調べてみてください。
    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。