Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.12.2011, 19:59
Аспирант
Отправить личное сообщение для Sergey999 Посмотреть профиль Найти все сообщения от Sergey999
 
Регистрация: 25.12.2011
Сообщений: 75

Нормальные url при Ajax формировании страницы
Вот такая вот проблема. Находил всего одно решение с якорями, т.е. что то вроде:
if (window.location.hash != ""){
        window.location.href = "http://site.com/"+window.location.hash.replace(new RegExp("#","g"),"");


То есть парсим страницу все что после #, хотя при этом в том же контакте это сделано без всяких # и при открытии ссылки на фото все открывается... и по клике на фото, например, происходит следующее:
<a href="/photo456546456_45645654654654?all=1" onclick="if (cur.cancelClick) return (cur.cancelClick = false); return showPhoto('456456_456456456456', 'photos456456456', {img: this, root: 1}, event)"


Но что то я не очень понимаю, что они делают в общих чертах? Вроде как по клике на ссылку - действие отменяется и тут же открывается popup с фоткой, но опять же не могу понять как делает чтобы при открытии ссылки открывалась страница и тут же открывалось фото??? Помогите, вообще не могу въехать что тут действительно проиходит....

У меня много контента, те же фото и поиски на сайте работают через Ajax и хочется как то получить на них нормальные ссылки...
Ответить с цитированием
  #2 (permalink)  
Старый 30.12.2011, 20:10
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

http://htmlbook.ru/html5/history
Ответить с цитированием
  #3 (permalink)  
Старый 30.12.2011, 21:32
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Sergey999
if (cur.cancelClick) return (cur.cancelClick = false); return showPhoto('456456_456456456456', 'photos456456456', {img: this, root: 1}, event)
Вообще вот это жесть, конечно. Разработчики контакта клали болт на понятие "ненавязчивый javascript"
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #4 (permalink)  
Старый 30.12.2011, 22:09
Аспирант
Отправить личное сообщение для Sergey999 Посмотреть профиль Найти все сообщения от Sergey999
 
Регистрация: 25.12.2011
Сообщений: 75

А есть где нибудь работающие примеры? Именно как примеры, а то в статье по ссылке отдает 410 код (( В общем то понятно более менее, за исключением некоторых пробелов((

Цитата:
Вообще вот это жесть, конечно. Разработчики контакта клали болт на понятие "ненавязчивый javascript"
Да он весь такой, однако ловлю себя на мысли что он намного удобнее многих сайтов. Больше приложение напоминает, нежели сайт. На одноклассники вообще заходить страшно ))

Последний раз редактировалось Sergey999, 30.12.2011 в 22:19.
Ответить с цитированием
  #5 (permalink)  
Старый 30.12.2011, 22:25
Аспирант
Отправить личное сообщение для Sergey999 Посмотреть профиль Найти все сообщения от Sergey999
 
Регистрация: 25.12.2011
Сообщений: 75

Мне на самом деле одно не понятно, после клика по ссылке я должен вызвать ф-ю в которой: идет запрос на сервер, формируется страница из ответа, произойдет подмена url

Но каким способом мне отменить действительный переход по ссылке и как обработать url если его ввели в бразер или перешли по ссылке?

Последний раз редактировалось Sergey999, 30.12.2011 в 22:58.
Ответить с цитированием
  #6 (permalink)  
Старый 09.01.2012, 14:52
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

это надо писать отдельную функцию формирования,
чтобы все работало корректно
Ответить с цитированием
  #7 (permalink)  
Старый 17.01.2012, 23:59
Аспирант
Отправить личное сообщение для Sergey999 Посмотреть профиль Найти все сообщения от Sergey999
 
Регистрация: 25.12.2011
Сообщений: 75

правда ничего не получится похоже (( Opera 11 и IE8 отказались работать так что это конечно здорово, но кажется пока не реально (((( Либо я даже не знаю как сделать кроме как document.location.hash и #... Или же для остальных браузеров написать .htaccess и потом по загрузке страницы все вызывать, вроде как с надеждой, что потом это везде будет работать(((

Последний раз редактировалось Sergey999, 18.01.2012 в 00:54.
Ответить с цитированием
  #8 (permalink)  
Старый 18.01.2012, 00:23
Аспирант
Отправить личное сообщение для Sergey999 Посмотреть профиль Найти все сообщения от Sergey999
 
Регистрация: 25.12.2011
Сообщений: 75

Нет как то же контакт делает, ничего не понимаю ...
В опереконтент подгружается, но в результате я все равно перехожу на новую страницу ...
Ответить с цитированием
  #9 (permalink)  
Старый 18.01.2012, 01:07
Аспирант
Отправить личное сообщение для Sergey999 Посмотреть профиль Найти все сообщения от Sergey999
 
Регистрация: 25.12.2011
Сообщений: 75

Ой нет я вас обманул, это onload не работал...
Ответить с цитированием
  #10 (permalink)  
Старый 27.01.2012, 13:42
Аватар для inst
Аспирант
Отправить личное сообщение для inst Посмотреть профиль Найти все сообщения от inst
 
Регистрация: 12.01.2012
Сообщений: 44

Саму идею впервые заметил на flickr.

Как обычно, хорошую статью по JS можно найти на mozilla-dev: https://developer.mozilla.org/en/DOM...rowser_history
Внизу статьи есть таблица совместимости браузеров. Если надо, как на facebook (читай, вК), с решёткой в браузерах, где пока нет нормального html5 (читай, IE), то внизу есть также ссылка на некую библиотеку History.js.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вызов функции при смене url vvsh Events/DOM/Window 4 11.08.2011 19:01
При достижении низа страницы prokopoffmusic jQuery 0 21.06.2011 04:52
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
установить переменную сессии через ajax при загрузке страницы optik77 AJAX и COMET 3 02.06.2011 17:36
Проверка наличия логина в БД при регистрации, с помощью ajax storng Общие вопросы Javascript 4 09.04.2010 20:24