有个有语言设置需求的web,就是根据语言设置显示不同的内容。但是现在是要做到根据页面自身来维持不同的语言设置。
比如
1.打开窗口A,页面为index,语言为en,
2.打开窗口B,页面为index,语言为zh,
3.从窗口A的连接打开页面data,但维持语言设置为en,而不是zh也就是各个页面的设置不互相影响,
Session估计是没用的了,现在就想能不能在页面unload的时候修改它提交给服务器的请求,然后加上当前页面的语言设置。
或者有其他方法?webjavascript语言设置

解决方案 »

  1.   

    加个参数就行了
    index?lan=en
    index?lan=zh<script>
    var en=location.search.indexOf('lan=en')!=-1,zh=location.search.indexOf('lan=zh')!=-1;
    //其他操作
    </script>
      

  2.   


    判断你附加的参数是什么语言
    if(en){
      //显示英文的
    }else{
      //默认显示中文的
    }
      

  3.   

    为什么session没用了? 打开A页面的时候设置session["language"] = "cn";
    打开B的时候也这样,不就可以了.
      

  4.   

    不很明白你的意思
    你可以这样试试
    当用户点击主页时先让他走servlet  在servlet里判断用户的操作系统的语言(上网自己查下)
    然后根据获得的结果做判断跳转到不同的页面
      

  5.   

    1,打开窗口A,页面为index,语言为en,打开这个a的时候你怎么打开的?直接输入?直接输入的时候在后面加参数就行了index?lan=en,打开b也一样通过点击页面的链接打开你就修改链接href增加语言参数
    3.从窗口A的连接打开页面data,但维持语言设置为en,而不是zh
    这个需要用js脚本设置下页面的链接,给页面data增加lan参数,data页面也需要获取lan参数后设置链接的语言选项data.html,1.html,2.html内容全部如下
    <script>
        var en = location.search.indexOf('lan=en') != -1, zh = location.search.indexOf('lan=zh') != -1;
        window.onload = function () {
            var as = document.getElementsByTagName('a');
            for (var i = 0; i < as.length; i++)
                if (as[i].href.indexOf('lan=') == -1)//链接包含过语言选项就不增加语言选项
                    as[i].href = (as[i].href.indexOf('?') == -1 ? '?' : '&') + 'lan=' + (en ? 'en' : zh ? 'zh' : '');
            if (zh) document.getElementById('dvZH').style.display = 'none';
            else if (en) document.getElementById('dvEN').style.display = 'none';
        }
        document.write('<h1>' + location.pathname + '</h1>');
        if (en) document.write('language is english');
        else if (zh) document.write('语言为中文');
        else document.write('没有指定语言选择!!no language!');
    </script>
    <h1>下面这些链接保持和当前语言一直</h1>
    <a href="1.html">1.html</a><br /><a href="2.html">2.html</a><br /><a href="data.html">data.html</a>
    <div id="dvZH">
    <h1>切换为中文</h1>
    <a href="1.html?lan=zh">1.html</a><br /><a href="2.html?lan=zh">2.html</a><br /><a href="data.html?lan=zh">data.html</a></div>
    <div id="dvEN">
    <h1>切换为英文</h1>
    <a href="1.html?lan=en">1.html</a><br /><a href="2.html?lan=en">2.html</a><br /><a href="data.html?lan=en">data.html</a></div>
      

  6.   

    好吧,我是有点没说清,
    1.语言设置与用户系统无关。比如用户想看data的en版,ch版,这都是可以的并且不互相影响。
    2.关于语言的切换和保持就是和 showbo 大大做的效果差不多了。但是就是页面可能会有多连接,如果对每个链接都这样去判断和修改lan设置太麻烦,虽然用Jquery遍历也算是个办法。
    现在就是有没方便点的办法,比如动态的在页面unload之类的事件里修改lan的设置?
      

  7.   


    A:index,session["language"] = "cn";
    B:index,session["language"] = "en";
    A:index,刷新,受到B的影响,语言成了en
      

  8.   


    我那个已经做好了,增加我的那个js文件就行了,会自动修改没有添加lan参数的链接地址