Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: index.php#.. как передать значение якоря в php страницу?
Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
При переходе по ссылке "index.php#2" в адрессной строке выходит "index.php#" без самого якоря, как передать якорь?
с программированием я не так много...
пробывал передать методом get и потом подставить в window.location.hash="", но переменную передавать из php в JS показалось тяжким трудом
Ничего найти в интернете не получается, подскажите по каким ключевым словам и что поискать, каким путём пойти лучше?
Ещё интересно сделать все ссылки вида "/.../...", а не "?id...", найти пока тоже не смог, а ковырять готовые системы не хочу пока, они обычно огромные..?
isle
Отправлено: 11 Июня, 2010 - 22:44:01
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
Честно сказать - не помню, как передавал якорь, в последнее время всегда ссыль пишу с вопросиком, а далее задаю переменную... типа: /index.php?id=1
Далее есть несколько различных вариантов парсинга этих переменных из строки - зависит от вашей конкретной ситуации как и чем парсить... Можно просто разбить експлодом по знаку, например, "=" и получить значение из строки, можно спец. функциями, типа parse_url или подобными (их 2 или 3 точно, но по памяти так не скажу, давно клепал).
Я когда-то не знал как парсить, делал что-то типа этого:
Покинул форум
Сообщений всего: 127
Дата рег-ции: Нояб. 2009 Откуда: Россия, Москва
Помог: 0 раз(а)
fenomen51 пишет:
Ещё интересно сделать все ссылки вида "/.../...", а не "?id...", найти пока тоже не смог, а ковырять готовые системы не хочу пока, они обычно огромные..?
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
fenomen51 пишет:
При переходе по ссылке "index.php#2" в адрессной строке выходит "index.php#" без самого якоря, как передать якорь?
При работе с якорями необходимо учитывать несколько вещей - во-первых они являются свойсвом локальной HTML-страницы и не передаются PHP-скрипту в любом случае - поэтому если вам приедтся его передавать то необходимо использование JS-скрипт для соответствующего считывания и зашифрованной передачи Во-вторых в DOM-модели якоря лежат в объекте document.anchors и соответственнно для обращения к ним они должны иметь правильное имя - в частности содержать только латинские буквы и цифры и знак подчеркивания но не начинаться с цифры - в вашем случае так оно и есть
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
fenomen51
Отправлено: 15 Июня, 2010 - 07:57:25
Новичок
Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
У меня большие списки сотрудников и коллективов, очень желательно как-то реализовать прокрутку страницы к нужному элементу, чтобы человеку не приходилось самому искать нужную строчку, может это проще сделать без якорей? Чтобы перейдя по ссылке на страницу, она сразу вставала на нужное место, как и при использовании якорей
Какие-то другие способы существуют, может функции прокрутки какие или..?
Я давно не боюсь освоения новых вещей, но быть одновременно и дизайнером и программистом и писателем - не просто, с JS сейчас может не время разбираться
Буду благодарен любым соображениям и благодарю тех людей. которые тут уже писали, мне помогло, я уже кое-что на сайте сделал, очень нужной оказалась технология обработки ошибок запроса страницы, для реализации красивых ссылок, хотя раньше собирался это сделать для индексации. Теперь решил, что большой необходимости нет, может в каком-то небольшом сайте пригодится. А в крупном не хочется загружать серсвер ещё и обработкой намеренно сделанных ошибок, у меня и случайных хватает
Может php может формировать файл html формата, отдавать его и нужды в мучениях не будет?
php на большинстве страниц используется только для формирования страницы из шаблонов, динамики не содержат и ущебра от такой реализации не будет (Добавление)
JustUserR пишет:
fenomen51 пишет:
При переходе по ссылке "index.php#2" в адрессной строке выходит "index.php#" без самого якоря, как передать якорь?
При работе с якорями необходимо учитывать несколько вещей - во-первых они являются свойсвом локальной HTML-страницы и не передаются PHP-скрипту в любом случае - поэтому если вам приедтся его передавать то необходимо использование JS-скрипт для соответствующего считывания и зашифрованной передачи Во-вторых в DOM-модели якоря лежат в объекте document.anchors и соответственнно для обращения к ним они должны иметь правильное имя - в частности содержать только латинские буквы и цифры и знак подчеркивания но не начинаться с цифры - в вашем случае так оно и есть
Кроме цифр я попробывал к тому моменту и буквы...
А с JS пока не досуг был разобраться, у меня много сайтов, я их с 0 сам пишу, символ за символом и дизайн и базы данных и статьи пишу, а ещё у меня три работы.. и тп... Как у всех)
Соответственно не так давно освоил php.
JS мне тоже интересен, просто у меня подход практичный, учить обычно начинаю то, без чего не обойтись, а остальное ждёт моего свободного времени и настроения
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
fenomen51 пишет:
Какие-то другие способы существуют, может функции прокрутки какие или..?
На js, если знаете на сколько и куда опускать страницу (вверх-вниз) реализуется так:
window.scroll(0,1000);
window.scroll(0,-1000);
Еще потребоваться может определение текущей позиции, чтоб от нее поднять-опустить страницу - это на jquery относительно легко делается, но всё равно гемор.
На php можно не только через ГЕТ, но и через РОСТ запрос передать переменную, которая и будет определять куда именно сдвинуть страницу, предварительно только установить счетчик положения нужно в нуль, но это - морока... Лучше просто якорем - самый простой и эффективный способ.
Через ПОСТ нужно форму писать и кнопочку ставить - не всегда удобно и не везде подходит.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
fenomen51 пишет:
У меня большие списки сотрудников и коллективов, очень желательно как-то реализовать прокрутку страницы к нужному элементу, чтобы человеку не приходилось самому искать нужную строчку, может это проще сделать без якорей? Чтобы перейдя по ссылке на страницу, она сразу вставала на нужное место, как и при использовании якорей
То есть после совершения определенного запроса к серверу у вас генерируется достаточно большой список в котором нужно сразу сделать переход на нужное место - для этого можно воспользоваться несколькими методам
Вы можетие сделать реальный якорь и в самом начале показать пользователю ссылку с этим якорем и при нажатии на нее он перейдет в нужное место страницы - то же самое можно осуществить за счет window.location.hash или эмуляции нажатия на ссылку Можно реализовать и целиком на JS путем поиска offsetTop у нужного элемента и текущего scrollHeight на основании чего уже можно сделать прокрутку
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
fenomen51
Отправлено: 17 Июня, 2010 - 11:17:02
Новичок
Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
Сделать получилось так:
ссылка по которой переходим на страницу имеет вид: pc.php#b
тогда в текст pc.php вставляем код:
NAME="b" добавляется в тот элемент кода страницы, к которому требуется перейти
Едва ли не первый раз пользовался форумом, с детства предпочитаю находить ответы самостоятельно, но очень порадовал данный эксперимент, без вышеприведённых ответов я бы не скоро ещё сделал, а тут уж пришлось покопаться (третий переход по яндексовому поиску дал сей результат), только раньше я не знал как сформулировать нужно правильно
Когда первый раз экспериментировал с передачей id через РОST и переходу по этому id средствами JS, зашёл в тупик, ибо JS я абсолютно не использовал раньше JS
Всем спасибо)
Как бы вместо location.hash и якоря, использовать id ?
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
fenomen51 пишет:
Как бы вместо location.hash и якоря, использовать id ?
Если вы имеете в виду прокрутку к конкретному div-элементу с заданным идентификатором то это можно реализовать различными способами Если ваша HTML-страница строится статическим методом с указанием некоторых фиксированных разделов то можно сделать расчет - например вы смотрите позицию div-блока в документе и рассчитваете высоту всех элементов выше него на основе фиксированого размера шрифта - и далее делаете прокруту с помощью scrollTo
Как вариант можно использовать CSS-свойства типа offsetHeight для определения абсолютной позиции элемента - или при относительном положении каскадного определения позиций всех родительских элементов аналогичным образом и вычисление общего остступа Также можно использоваь свойсво document.body.scrollTop для определения текущей позиции прокрутки - и выполнять плавную прокруту к примеру
Также возмжно создание невидимый гиперссылки с указанеем якоря - и эмуляция нажатия на нее путем генерации события element.click
PS Тема все-таки больше по JS поэтому переношу ее в соответствующий раздел
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.