JQuery Tree View кэш - PullRequest
       0

JQuery Tree View кэш

1 голос
/ 30 марта 2011

Как применить кеширование при использовании плагина jquery treeview.Мне нужно показать выбранное дерево открытым при обновлении.

http://jquery.bassistance.de/treeview/demo/

Код

<div class="Content">
<%= javascript_include_tag "jquery.treeview" %>
<%= stylesheet_link_tag "jquery.treeview" %>

<script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery("#page_tree").treeview({
            persist: "location",
            collapsed: true
        });
    });
</script>

<ul id="page_tree">
<% @pages.each do |page| %>

  <li id ="title">
    <%= page.name %>
    <ul>
        <li><%= link_to "#{page.title}" %></li>
    </ul>
  </li>
<% end %>

Ответы [ 3 ]

1 голос
/ 30 марта 2011

Я думаю, вы ищете вариант persist.Вы можете просмотреть документацию о доступных опциях здесь http://docs.jquery.com/Plugins/Treeview/treeview#options

Пример

$(".selector").treeview({
    persist: "cookie",
   cookieId: "navigationtree"
})

Обновление

Пример кода, который они используют для сохранения на основе файлов cookie, который работает на демонстрационной странице - sample 3 (в качестве местоположения используется образец 2, и, похоже, он не работает):

Javascript

<script type="text/javascript">
    jQuery(document).ready(function() {
        $('#page_tree').treeview({
            collapsed: true,
            persist: cookie
        })    
    })
</script>

HTML

<ul id="page_tree">
<% @pages.each do |page| %>
    <li id="title"><span> <%= page.name %> </span>
    <ul>
        <li> <%= link_to "#{page.title}" %> </li>
    </ul>    
    </li>
<% end %>
</ul>

Мой единственный совет - если это не сработает, попробуйте статически связать ссылку сjavascript / css файлы и посмотрите, работает ли это, также вы захотите использовать скрипт cookie.js.

<link rel="stylesheet" href="http://jquery.bassistance.de/treeview/jquery.treeview.css" />
<script type="text/javascript" src="http://jquery.bassistance.de/treeview/jquery.treeview.js" ></script>
<script type="text/javascript" src="http://jquery.bassistance.de/treeview/lib/jquery.cookie.js"></script>
0 голосов
/ 19 декабря 2014

Я знаю, что это старый вопрос об устаревшем плагине jQuery, но я только что столкнулся с этой проблемой сегодня.

Если вы хотите использовать persist: 'cookie', вам НУЖНО включить jquery.cookie.js.В противном случае значки +/- исчезнут, и ничего не будет работать.

Это старый код, поэтому я взял jquery.cookie.js из git-репозитория treeview для совместимости: https://github.com/jzaefferer/jquery-treeview/tree/master/demo

Такжеcollapsed: true кажется противоречащим идее постоянства.

Включают:

<link rel="stylesheet" href="/treeview/jquery.treeview.css" />
<script type="text/javascript" src="/treeview/jquery.treeview.js"></script>
<script type="text/javascript" src="/treeview/lib/jquery.cookie.js"></script>

JS:

jQuery(document).ready(function(){
    jQuery("#page_tree").treeview({
        persist: "cookie"
    });
});
0 голосов
/ 30 марта 2011
<div class="Content">
  <%= javascript_include_tag "jquery.treeview" %>
  <%= stylesheet_link_tag "jquery.treeview" %>

  <script type="text/javascript">
    jQuery(document).ready(function(){
      jQuery("#page_tree").treeview({
        persist: "location",
        collapsed: true
      });
    });
  </script>

  <ul id="page_tree">
    <% @pages.each do |page| %>

      <li id ="title">
        <%= page.name %>
        <ul>
            <li><%= link_to "#{page.title}" %></li>
        </ul>
      </li>
    <% end %>
  </ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...