如何使用当前版本的jquery ui记住活动选项卡

Man*_*nes 4 jquery jquery-ui

当我的页面刷新时,我希望能够返回到用户最后一次打开的选项卡.当前的api文档不再提及cookie来进行选项卡选择了.现在如何使用cookies来实现这一目标?

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>jQuery UI Tabs - Default functionality</title>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
        <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
        <script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
        <link rel="stylesheet" href="/resources/demos/style.css" />
        <script>
            $(function() {
                $("#tabs").tabs();
            });
        </script>
    </head>
    <body>
        <div id="tabs">
            <ul>
                <li><a href="#tabs-1">Nunc tincidunt</a></li>
                <li><a href="#tabs-2">Proin dolor</a></li>
                <li><a href="#tabs-3">Aenean lacinia</a></li>
            </ul>
            <div id="tabs-1">
                <p>Tab 1 text</p>
            </div>
            <div id="tabs-2">
                <p>Tab 2 text</p>
            </div>
            <div id="tabs-3">
                <p>Tab 3 text</p>
            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Man*_*nes 6

所以这就是我想出来的.当用户激活选项卡时,将使用所选选项卡的索引设置cookie.初始化选项卡窗口小部件时,将从cookie中读取值并加载.即使cookie不存在,这似乎仍然有效,并且仅在cookie存在时加载用户上次选择的选项卡.

$("#tabs").tabs({
    activate: function( event, ui ) {
        $.cookie("tabs_selected", $("#tabs").tabs("option","active"));
    },
    active: $("#tabs").tabs({ active: $.cookie("tabs_selected") })
});
Run Code Online (Sandbox Code Playgroud)