X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Анализ якоря в URL-е
ShowPrint
ShowPrint
Topic Starter сообщение 4.2.2019, 21:39; Ответить: ShowPrint
Сообщение #1


Всем добра!

Возникла у меня очередная бредовая идея при формировании страницы формировать некое магическое действо в зависимости от наличия/отсутствия/вида якоря (хештега) в урле.

Насколько я знаю, на стороне сервера якоря не обрабатываются.

Погуглив сабж и изучив "многабукафф" пришёл к выводу что логичнее всего посредством JS (точнее jQuery):
  • отлавливать клик по гиперссылке

  • анализировать href

  • в случае наличия якоря и необходимости "превращать" якорь в get-переменную и осуществлять переход посредством window.location.href

В этом случае я смогу на стороне сервера по "искусственно созданной" get-переменной делать всё что мне захотелось/придумалось.

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

Вопросы "из башки".
1. Самое простое ("вскрытие покажет")
Правильно ли я понимаю, что с кодом типа:

$('a').on('click',function(){
if( условие ){
window.location.href=сгенерированный_урл;
return false;
}
});

При несоблюдении "условия" клик по этой ссылке должен отработать как просто клик по ссылке, без "отлавливания" события-клика по ней?
Или этот клик будет проигнорирован и для перехода к месту назначения надо всё равно прописывать window.location.href=урл_по _умолчанию;

2. (больше всего волнует) Равнозначно ли действо клика без обработчика и window.location.href с точки зрения ПС?

С одной стороны загрузка страницы через window.location.href по идее должна быть равнозначна загрузке новой страницы (как бы внутренний переход по сайту), с другой стороны как-то стремновато потому как вдруг ПС-ы решат что я совершаю "подмену содержимого страницы", то есть "ввожу в заблуждение посетителя" или чего хуже "пытаюсь оказать влияние на поисковую выдачу".
Очень не хочется чтоб мне "прилетело от ПС" какое-нибудь наказание, вместо бонуса за улучшение  :)

Буду признателен любым мыслям по этому поводу.
Плагины не предлагать: CMS - рукоблудная, так что по любому решать задачу надо "ручками" :wacko:

[mwhide=0]
По какому поводу запарился на эту тему?
  • Есть у меня страница с аккордеоном на котором нужно реализовать открытие конкретной вкладки при загрузке страницы

  • Есть несколько страниц с частично скрытым содержимым (подргужаемым ajax-ом) которое по-хорошему тоже не мешало бы сразу при загрузке подгрузить до нужной записи

  • И т.д.

Можно конечно действовать "в лоб" и в href гиперссылки сразу прописывать адрес не с якорем, а с get-переменой которую и обрабатывать, но как-то это неизящно...  :rolleyes:

Почему озадачился?
Если якорь "отловить" на этапе пыховой генерации страницы посредством задуманного скрипта, то можно было бы:
  • переход к якорю на загружаемой сделать красивым-плавным;

  • визуально не "грузить" линки дополнительными get-переменными;

  • убрать якорь из урла браузера.

Согласен, что по большому счёту я сам себе придумываю "головняк", но эстетство в крови впитанное с молоком матери никуда не деть, млин...
[/mwhide]

0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Андрей_WPM
Андрей_WPM
сообщение 5.2.2019, 20:19; Ответить: Андрей_WPM
Сообщение #2


[offtopic]ShowPrint, не я один себе проблемы выдумываю :-) . По теме сказать нечего, не дружу с js.[/offtopic]


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
Topic Starter сообщение 5.2.2019, 20:32; Ответить: ShowPrint
Сообщение #3


(Андрей WPMasterKZ @ 5.2.2019, 23:19) *
не я один себе проблемы выдумываю
Ну а как же - наши руки не для скуки!!! =)
По тех.реализации я решу, и не такие заморочки ночами высиживали )))
Меня больше волнует второй вопрос, нет понимания содержимого электронных мозгов ПС, а тратить вечер на реализацию чтоб потом выкинуть её на помойку - жалко.
Причём не так жалко времени - опыт штука бесценная, и не так много его нужно на реализацию, как боюсь много гимора будет если прилетит "неприятностей" от ПС...
Не хочется обнаружить что в результате колдунства или страницы начнут из индекса вылетать, или пессимизируют в выдаче, или фильтр какой-нибудь прилетит  :wacko:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Андрей_WPM
Андрей_WPM
сообщение 5.2.2019, 21:17; Ответить: Андрей_WPM
Сообщение #4


ShowPrint, на счет эстетики могу только сказать. Я как-то задался вопросом подмены урлов через htaccess. Ну ты понял, рефку подставлять технично. Но так и не реализовал, установил плагин и забыл про это. Но вот в твоем случае, раз уж за эстетику переживаешь можно как эксперимент попробовать. Получится простой красивый урл в статье, а по клику подставляется автоматом твой гет-параметр, а уже на лету гет ловит твой скрипт на js.

Ха, во выдумал!  :D


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
Topic Starter сообщение 5.2.2019, 21:26; Ответить: ShowPrint
Сообщение #5


(Андрей WPMasterKZ @ 6.2.2019, 00:17) *
уж за эстетику переживаешь
Эстетика - это обложка, а угодить ПС-алгам - это бабки. Не нужно долго ванговать за что я больше переживаю =)))

Пока в голове нет определенности - забил на эстетику, вместо якоря на другие внутренние страницы решил проставлять get-параметр (ну и пусть в урле болтается), а при генерации страницы пыхом анализирую этот параметр и наличие соответствующего якоря, если всё норм - делаю анимированный переход. На предмет эстетики на этом сделал паузу, до того момента пока в башке не сложится пазл из мыслей =)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Андрей_WPM
Андрей_WPM
сообщение 5.2.2019, 22:30; Ответить: Андрей_WPM
Сообщение #6


ShowPrint, опять ты мне мыслей подкинул. Аж интересно стало ...  :o


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
Topic Starter сообщение 6.2.2019, 1:13; Ответить: ShowPrint
Сообщение #7


Андрей WPMasterKZ, ха, мыслей...)))
У меня в списке todo по сайту меньше 50 пунктов (идей и планов) не бывает )))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
Topic Starter сообщение 2.3.2019, 12:24; Ответить: ShowPrint
Сообщение #8


Зафиналить тему, так сказать...

Наколдовать что-то вразумительное с htaccess у меня самого не получилось, прибегнул к помощи ТП-хостера.
Гуру апачей помогли и рассказали про возможные варианты реализации, но поскольку это привело бы к массовому изменению урлов и непредсказуемой реакцией на это со стороны ПС - решил воздержаться.

В виду непонятной реакции всё тех же ПС на вариант с window.location.href - тоже решил с этим не заморачиваться.

В графе итого:
1.Решил анализ якоря делать не на лету, при клике, а после загрузки страницы пройтись по всем ссылкам, и поменять урлы на внешние страницы с якорем, преобразовав якоря в get-переменную[mwhide=0]

$('a').each(function(){
var curHref=$(this).attr('href');//берём содержимое атрибута href ссылки
if(~curHref.indexOf('#')){//если у ссылки есть якорь
if(curHref.indexOf('#')!==0){//если не 0, значит ссылка НЕ на внутренний якорь страницы (на другую страницу)
$(this).attr('href',curHref.replace('#','?href='));//делаем замену # на ?href= и присваем это значение атрибуту href для ссылки
}
}
});

[/mwhide]

При клике на такую ссылку, в процессе формирования новой страницы пыхом, отлавливаю эту переменную и создаю js-переменную с якорем[mwhide=0]

$_Href=$_GET['href'];
echo '<script>cHref='.$_Href.';</script>';

[/mwhide]

Что имеем (когда это нужно и что с этим можно делать):
1. Пыховая $_Href позволяет формировать нужный вид страницы, например:
( @ 5.2.2019, 00:39) *
Есть у меня страница с аккордеоном на котором нужно реализовать открытие конкретной вкладки при загрузке страницы


2. Яваскриптовая cHref также может решать нужные задачи, такие как
( @ 5.2.2019, 00:39) *
переход к якорю на загружаемой странице сделать красивым-плавным;

Пример

3. Ну и задачу
( @ 5.2.2019, 00:39) *
Есть несколько страниц с частично скрытым содержимым (подргужаемым ajax-ом) которое по-хорошему тоже не мешало бы сразу при загрузке подгрузить до нужной записи

тоже можно решить с помощью любой из этих переменных. Какой и как лучше буду думать когда дойду до очередного перепиливания страницы ради которой это делалось  :)


Недостаток: в адресной строке остаётся болтаться get-переменная, но ТП-апачи сказали что менять вид урла это огромный гимор и подтолкнули меня к мысли что "овчинка выделки не стоит" этим заниматься

Коды профи-программеры могут подчистить, я - любитель и прощаю себе некую кривизну.

Если кто-то решит сотворить себе нечто подобное, то обращаю внимание на то, что надо не забыть отфильтровать урл с get-переменной из индекса ПС


Сообщение отредактировал ShowPrint - 2.3.2019, 12:25
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 21.3.2019, 14:17; Ответить: fedornabilkin
Сообщение #9


Что-то я не понял. А почему не использовал вариант с сессиями и куками?
1. Кликаешь на нужную ссылку, ловишь клик, пишешь нужный параметр в куки, потом дефолтный переход по ссылке.
2. Отрисовал страницу, посмотрел наличие куки, посмотрел наличие элемента, до которого прокрутить и прокрутил, если они оба есть.
3. После прокрутки надо почистить куку.

В итоге чистые урлы и катайся по странице как угодно. В случае с куками даже не надо пых задействовать.
Кстати, в кнопках очень не хватает transition в плане стилей. Чтоб была мягкая смена фона при наведении.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
Topic Starter сообщение 21.3.2019, 15:45; Ответить: ShowPrint
Сообщение #10


(fedornabilkin @ 21.3.2019, 17:17) *
Что-то я не понял.
Хочешь объясню?
Застал времена когда на ТВ реклама алкогольных напитков была свободной?
Тогда была реклама со слоганом: пиво "Золотая Бочка" - надо чаще встречаться!

На твой вопрос могу ответить другим вопросом: ну и где тебя носило больше чем полтора месяца со стартпоста?  :diablo:

Сцуко, вот подозревал же что есть красивое решение и оно прямо на поверхности.
И топик создавал в надежде получить подсказку от людей промышляющих коддингом. А ты... А ещё друг называется...
Да ладно - будем считать это подарком для меня... Сегодня 4 года моего пребывания на форуме... Млин, а как будто это было вчера... =)

Спасибо за подсказку, займусь и сделаю.
Только сначала поинтересуюсь чтоб не было негатива со стороны Тындекса при работе с куками на незащищённом - я пока ещё так и не переехал  :(

ЗЫ
(fedornabilkin @ 21.3.2019, 17:17) *
в кнопках очень не хватает transition
Попробую сделать/посмотреть/оценить (гранд мерси)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Бесплатный SEO анализ сайта по 26 параметрам!
Программный анализ вашего сайта
49 wp01 25243 20.3.2023, 15:35
автор: wp01
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБесплатный SEO анализ сайта по 26 параметрам!
48 wp01 22297 20.3.2023, 15:34
автор: wp01
Открытая тема (нет новых ответов) Аудит сайта от 1900 руб, технический, юзабилити, анализ конкурентов, другие seo услуги
0 про100та 1151 22.7.2022, 23:26
автор: про100та
Открытая тема (нет новых ответов) Анализ конкурентов, помощь в семантике. Данные из Spywords
Выгрузки по вашим пожеланиям
0 Infra 7210 7.6.2020, 18:39
автор: Infra
Открытая тема (нет новых ответов) Нужен анализ конкурентов
И выгрузка статей
1 Kiloan_Frost 7515 5.4.2020, 14:49
автор: WebSniper


 



RSS Текстовая версия Сейчас: 19.4.2024, 14:28
Дизайн