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
Форумы портала PHP.SU :: Версия для печати :: помогите разобраться window.location
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » помогите разобраться window.location

Страниц (1): [1]
 

1. DiosPA - 17 Февраля, 2011 - 15:12:47 - перейти к сообщению
Можно ли изменить адресную строку но без перезагрузки страниц то есть просто модифицировать её
логика:
1 загрузилась страница обычный способ php ссылка допустим index.php?id=1
2 я нажимаю в меню на ссылку скрипт отправлят запрос на другой php скрипт который возвращает результат такой же как если бы мы обычным способом приши по этой ссылке (скажем ?id=2) (всмысле id=2 загрузилась через Ajax контент обновился а ссылка нет)

всё работает нормально мы перещли на ?id=2 но ссылка осталась таже (?id=1) как быть если я нажму F5 то страница вернётся на ид=1 #хеш не учитывается обработчиком тк не знаю как Однако (((

как быть есть вариант?
--

и второй вопросик есть ли скрипт который может присвоить определённому элементу <li> класс в зависимости от ссылки то есть если мы на странице 2.php то ul будет выглядеть так:
<li>1</li>
<li class='activ'>2</li>
<li>3</li>
2. OrmaJever - 17 Февраля, 2011 - 17:29:58 - перейти к сообщению
DiosPA пишет:
Можно ли изменить адресную строку но без перезагрузки страниц то есть просто модифицировать её
логика:
нет не возможно. Если меняется url значит меняется содержимое страницы которое нужно перегрузить.
А нащёт класа вот придумал на ходу
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3. $id = explode('=', $_SERVER['QUERY_STRING']);
  4. ?>
  5. <style>
  6. .activ{ color:red; }
  7. </style>
  8.  
  9. <a href="?id=1"<?if($id[1]==1) echo 'class="activ"'?>>1</a>
  10. <a href="?id=2"<?if($id[1]==2) echo 'class="activ"'?>>2</a>
  11. <a href="?id=3"<?if($id[1]==3) echo 'class="activ"'?>>3</a>
3. grefon - 17 Февраля, 2011 - 17:44:16 - перейти к сообщению
OrmaJever пишет:
нет не возможно. Если меняется url значит меняется содержимое страницы которое нужно перегрузить.


Ну почему же? А если так:
CODE (html):
скопировать код в буфер обмена
  1. <input type="text" onchange="window.location.search = this.value; return false;" />

У меня так меняется все на ура!
4. DiosPA - 17 Февраля, 2011 - 18:32:19 - перейти к сообщению
grefon таки меняется и перезагружается а надо просто изменить адрес но не переходить на него...

OrmaJever пасиба )

только вот вопрос возник как php спарсить ссылку
http://forum.php.su/topic.php?forum=40&topic=1764&v=l#1297957456
получить только файл
topic.php
5. grefon - 17 Февраля, 2011 - 21:17:48 - перейти к сообщению
DiosPA, прошу прощения, невнимательно прочел первый пост. Думал просто нужно изменить строку get запросов.
Если без перезагрузки то в принципе это невозможно. Но на ум приходит один извращенный трюк Улыбка
Что если задать mod_rewrite понимание запроса site.ru/#?abc=def как site.ru/?abc=def.
Тогда Вы сможите менять все, что после # без перезагрузки, а при загрузки этой страницы сервер будет загружать то, что нужно. Правда в этом случае Ваш сайт превращается в псевдо-аякс-непонятную-хрень. И для поисковиков это будет тоже не в радость.
6. OrmaJever - 17 Февраля, 2011 - 21:28:49 - перейти к сообщению
DiosPA пишет:
получить только файл

$_SERVER['PHP_SELF']
7. DiosPA - 17 Февраля, 2011 - 21:57:55 - перейти к сообщению
grefon OrmaJever спасибо Закатив глазки
8. JustUserR - 18 Февраля, 2011 - 11:57:21 - перейти к сообщению
DiosPA пишет:
Можно ли изменить адресную строку но без перезагрузки страниц
Осуществление решения предполагаемой задачи включающей модификацию отображаемого значения адесной строки в общем случае является невозможным - однако в некоторых случаях допустимо реализации варианта решения основанная на использовании управляющего предшествующего JS-элемента - в частности браузер Internet explorer осуществляет возможность использования специальных behavior-элементов для заданного объекта активной DOM-модели в том числе и контейнера отображения загруженной страницы - такой подход позволяет произвести переход на целевой URL-адрес с включением выполнения элементного потока JS-кода в заданном behavior-объекте который обеспечивает сохранение локальной копии активных рассчитанных элементов текущей HTML-страницы - таким образом после осуществления окончания потока фоновой загрузки производится управляющее воздействие на базовый ассоциированный элемент новой странице находящейся в процессе инициализации и удаление всех ее активных объектов с обеспечением замены на сохраненную локальную копию

 

Powered by ExBB FM 1.0 RC1