Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2014, 12:37
Новичок на форуме
Отправить личное сообщение для Mertil Посмотреть профиль Найти все сообщения от Mertil
 
Регистрация: 12.03.2014
Сообщений: 2

Навигация на Js и неприятности, с этим связанные
Обновляю сайт, для ускорения загрузки страниц на тематической странице стал использовать Jscript-подгрузку информации из другого файла с помощью function(eventObject), переход по ссылке без перезагрузки страницы, ссылки на страницу- по якорю(#). (пример тут- http://igor-26yu[dot]narod[dot]ru/ajaxlinki/index5.html )
Но есть пару капель дегтя-
- Для подгружаемого контента не работают Js-плагины? к примеру Easy Tooltip плагин всплывающих подсказок,
-При такой организации навигации в коде страницы подгружаемая информация не отражается -возникает вопрос- будет индексироваться поисковыми машинами (подозреваю что нет), и если не будет- какие варианты для преодоления этого момента? не хотелось бы отказываться от такого удобного варианта.
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2014, 12:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Mertil
- Для подгружаемого контента не работают Js-плагины? к примеру Easy Tooltip плагин всплывающих подсказок,
Полагаю что скрипт не использует делегирование событий, а вместо этого навешивает обработчики на непосредственно элементы. Таким образом, на вновь созданных элементах обработчиков нет. Пробуй переинициализировать плагин.
Сообщение от Mertil
какие варианты для преодоления этого момента?
Самый простой и используемый вариант: делаешь сначала чтоб сайт работал без всяких скриптов. То есть обычные ссылочки. Таким образом с ПС проблем не возникает. А далее, при наличии JS в юзерагенте, обходишь ссылки, вешаешь обработчик click ну и так далее.

Есть еще вариант с использованием #! и обработкой серваком спец-запросов от ПС, но это все ни к чему.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2014, 02:59
Новичок на форуме
Отправить личное сообщение для Mertil Посмотреть профиль Найти все сообщения от Mertil
 
Регистрация: 12.03.2014
Сообщений: 2

Спасибо,
Сообщение от danik.js Посмотреть сообщение
... Пробуй переинициализировать плагин.
Да, вешается на теги таким образом:
$(document).ready(function(){
$("img").easyTooltip();
});
Можно немножко ликбеза?
Подгрузка происходит через
"$('#d1').click( function(eventObject)
{eventObject.preventDefault();$('#outputinfa').loa d( "forindex5.html #infa1")[ТУТ];});"
Как я понимаю, [тут] и нужно инициализировать easyTooltip в отношении загружаемого контента, но с синтаксисом ни как не выходит...
мануалы курил, жевал, но опыта, чесно говоря, маловато..

Сообщение от danik.js Посмотреть сообщение
... Самый простой и используемый вариант: делаешь сначала чтоб сайт работал без всяких скриптов. То есть обычные ссылочки. Таким образом с ПС проблем не возникает. А далее, при наличии JS в юзерагенте, обходишь ссылки, вешаешь обработчик click ну и так далее.
Да, думал об этом, и раньше всё на стороне сервера решалось, стал обновлять- увлекся реализацией, и ублудил на сторону браузера- что не верно в корне, но визуально весьма увлекательно выходит, хотя изначально озадачивлся кроссбраузерностью и простотой решений
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2014, 12:30
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Mertil
мануалы курил, жевал, но опыта, чесно говоря, маловато..
Насчет load() не знаю, но в $.ajax в обратном вызове (параметр success) обновляешь HTML и вызываешь easyTooltip().
В load() вроде тоже можно указать callback, но он вызывается для предобработки ответа сервера, то есть html уже загружен, но еще не вставлен в документ.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2014, 13:32
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Сообщение от Mertil Посмотреть сообщение
Спасибо,
Да, вешается на теги таким образом:
$(document).ready(function(){
$("img").easyTooltip();
});
Можно немножко ликбеза?
Подгрузка происходит через
"$('#d1').click( function(eventObject)
{eventObject.preventDefault();$('#outputinfa').loa d( "forindex5.html #infa1")[ТУТ];});"
Как я понимаю, [тут] и нужно инициализировать easyTooltip в отношении загружаемого контента, но с синтаксисом ни как не выходит...
мануалы курил, жевал, но опыта, чесно говоря, маловато..
Во первых, смотри доку https://api.jquery.com/load/
Там три аргумента - урл,дата и коллбэк. Ты у себя указал только урл, дату тебе можно пропутить.
$('#outputinfa').load("forindex5.html#",function(text,status,xhr){
//твой коллбэк доблжен был быть тут.Тебе осталось только применить твой тултип для вновь загруженного контента.
var html = $(text).find('img').easyTooltip();//text этот твой загруженный forindex5.html
$('body').append(html);//вставляем его на страницу.
});

Возможно, придется сначала вставить а потом уже применять тултип.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операционная Система на JS Icat Общие вопросы Javascript 3 17.04.2018 22:54
Вывыод контента через JS inet_boy Элементы интерфейса 0 18.11.2013 03:00
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Вставка кода js с помощью js Alice Общие вопросы Javascript 1 12.06.2013 19:05