根据用户选择显示内容

时间:2011-07-06 12:26:32

标签: javascript html cookies

我正在建立一个网站。

在布局上,有不同国家的3个标志。

我想知道如何根据用户选择的内容显示内容,并在每次返回网站时保留选择。

显然,他们第一次来到网站时会显示默认的英语,但是一旦他们点击一个标志就会改变。

我正在接受使用javascript和cookies,我一直在环顾四周,似乎无法找到任何例子,我想知道是否有人可以告诉我如何去做。

由于

3 个答案:

答案 0 :(得分:0)

Cookies似乎是正确的想法:

http://www.google.co.uk/search?q=javascript+cookies

答案 1 :(得分:0)

(可能)只有两种方法可以做到这一点:

  1. Cookie(主要是匿名用户)
  2. 注册并让用户登录
  3. 根据您的需要,听起来好像饼干就足够了。

    http://www.quirksmode.org/js/cookies.html绝对值得从头到尾阅读。

答案 2 :(得分:0)

我对如何做到这一点给出了一个抽象的概念.. 在你编写的html中,添加一个javascript函数,当你点击标志然后提交请求时,它会在浏览器cookie中设置标志的id ..

function setCookie(flag_id) //call this when the flag is clicked
{
    var allcookies = document.cookie;
    if(allcookies)
    {
            document.cookie += ';flagId=' + flag_id;
    }
    else
    {
        document.cookie='flagId=' + flag_id;
    }
 /*submit the form or whatever you would like to do when the flag is clicked*/
}

这就是客户端部分。您也可以指定cookie的到期时间..有关详细信息,请参阅w3schools网站。 cookie将保留在浏览器中并在每次请求时发送到服务器。

现在,在服务器端,如果您正在使用servlet,只需使用以下代码来获取doPost或doGet中的cookie(在第一个请求来自客户端的情况下)。

.....
Cookies[] cookies = request.getCookies();
String flagId = null;
if(cookies != null)
{
    for(String cookie:cookies)
    {
        if(cookie.getName().equals("flagId"))
            {
            flagId = cookie.getValue();
        }
    }
}
//use the flag id to decide your content here..
....

希望这能回答你的问题。