преобразование ссылок в AJAX "на лету"

простой пример

  <h4><a href="filter/index.html">простой пример</a></h4>
  <div id="example1"></div>
  <script>
    SRAX.Filter.add({url:'/filter/', id:'example1'})
  </script>

Изменение адреса запроса

  <h4><a href="burda/index.html">изменение адреса запроса</a></h4>
  <div id="example2"></div>
  <script>
    SRAX.Filter.add({url:'/burda/', id:'example2', urlChanger:function(url, owner){

return url.replace('burda', 'filter'); }}) </script>

пример мульти-фильтра

  <h4><a href="url1.html">пример</a>   <a href="url2.html">мульти</a>   <a href="url3.html">фильтра</a></h4>
  <div id="example3"></div>
  <script>
    SRAX.Filter.add({url:['url1.html', 'url2.html', 'url3.html'], id:'example3', changer:function(url, owner){

return 'filter/index.html'; }}) </script>

фильтр на строку запроса

  <h4><a href="filter/index.html?param1=value1">фильтр на строку запроса</a></h4>
  <div id="example4"></div>
  <script>
    SRAX.Filter.add({query:'param1=value1', id:'example4'})
  </script>

Комбинированный фильтр

  <h4><a href="filter/index.html?param2=value2">комбинированый фильтр</a></h4>
  <div id="example5"></div>
  <script>
    SRAX.Filter.add({url:'filter', query:'param2=value2', join:'and', id:'example5'})
  </script>

Ручное переопределение действия

  <h4><a href="manual_handler.html">ручное переопределение действия</a></h4>
  <div id="example6"></div>
  <script>
    SRAX.Filter.add({url:'manual_handler', handler:function(owner, options){

id('example6').innerHTML = '<div style="background:#ffaaaa; padding:2px 5px; width:200px;">что хочу то ворочу</div>'; }}) </script>
При работе фильтров могут возникать наложения правил, приоритет имеет тот фильтр у которого совпадение правила длинее. К примеру: на адресс 'filter/index.html' - SRAX.Filter.add({url:'filter', id:'example1'}) имеет больший приоритет над SRAX.Filter.add({url:'fil', id:'example2'}), потому что 'filter' длинее 'fil'. При одинаковых длинах приоритет имеет тот, который был определен раньше.

Описание

/** * Объект фильтр ссылок - для "авто-заворачивания" в AJAX * * пример: * SRAX.Filter.add({'id':'header','url':'header'}); * * Список параметров: * id - id блока * url - ссылка или массив ссылок * urlType - 'contain' (по умолчанию) или 'start' или 'end' - соответсвенно содержит, начинается или заканчивается * query - строка или массив строк запроса * queryType - 'contain' (по умолчанию) или 'start' или 'end' - соответсвенно содержит, начинается или заканчивается * join (joinLogic) - логика обьединения url и query - 'or' (по умолчанию) или 'and' * changer (urlChanger) - функция изменения обволакиваемой ссылки urlChanger: function(url, owner){return url.replace('index.php', 'mypage.php')} * target - true заворачивать ссылки с атрибутом target (_self, _parent, _top, _blank) или false - не заворачивать (по умолчанию) * type - если = 'data', тогда для запроса используется dax, иначе используется hax * handler - функция обработки клика, если не указана, тогда используется функция в соответсвии с type * **/