将Cookie添加到语言转换器

时间:2011-08-27 15:01:08

标签: javascript api cookies mootools

我正在尝试为我的网站添加一个小语言转换器。我希望用cookies保存语言。

如何修改此代码以实现此目标?

<script src="https://www.google.com/jsapi?key=ABQIAAAAMt9YZQaG_wbfmb2826e_wBTPUDO5TVHJS-HZdrhJpqnB5yZcfRQFObTd1-bPphEIY11228Z78VhA6A"></script>
    <script src="http://davidwalsh.name/dw-content/mootools-1.3.js"></script>
    <script>
        // Set the original/default language
        var lang = "en";
        var currentClass = "currentLang";

        // Load the language lib
        google.load("language",1);

        // When the DOM is ready....
        window.addEvent("domready",function(){
            // Retrieve the DIV to be translated.
            var translateDiv = document.id("languageBlock");
            // Define a function to switch from the currentlanguage to another
            var callback = function(result) {
                if(result.translation) {
                    translateDiv.set("html",result.translation);
                }
            };
            // Add a click listener to update the DIV
            $$("#languages a").addEvent("click",function(e) {
                // Stop the event
                if(e) e.stop();
                // Get the "to" language
                var toLang = this.get("rel");
                // Set the translation into motion
                google.language.translate(translateDiv.get("html"),lang,toLang,callback);
                // Set the new language
                lang = toLang;
                // Add class to current
                this.getSiblings().removeClass(currentClass);
                this.addClass(currentClass);
            });
        });

    </script>

<div id="languages"><p>
        <a href="?lang=en" rel="en">English</a> / <a href="?lang=es" rel="es">Spanish</a> 
    </p></div>

    <div id="languageBlock">
        <p>Lights go out and I can't be saved <br />
        Tides that I tried to swim against  <br />
        Brought me down upon my knees  <br />
        Oh I beg, I beg and plead </p>

        <p>Singin', come out if things aren't said  <br />
        Shoot an apple off my head  <br />
        And a, trouble that can't be named  <br />
        Tigers waitin' to be tamed </p>

        <p>Singing, yooooooooooooo ohhhhhh  <br />
        Yoooooooooooo ohhhhhh </p>

        <p>Home, home, where I wanted to go <br /> 
        Home, home, where I wanted to go  <br />
        Home, home, where I wanted to go  <br />
        Home, home, where I wanted to go</p>
    </div>

1 个答案:

答案 0 :(得分:0)

听起来你正在使用MooTools。考虑使用MooTools cookie functionality

在您完成链接点击事件处理程序中的语言切换后,将其放置:

// Add class to current
this.getSiblings().removeClass(currentClass);
this.addClass(currentClass);

//now set the cookie
var myCookie = Cookie.write('userLang', toLang);

当您想要阅读cookie时,可能是在页面加载(或您喜欢的任何事件):

alert('This user has their language set to: ' + Cookie.read('userLang'));