|
Подмена ссылки домена
|
|
| Denisгггг | Дата: 24 Декабря 2009, 22:26 | Сообщение # 1 | ● ● ● ● ● 232 сообщения Статус: Offline | В общем, хочу реализовать такое: Нужно сделать такой скрипт, который берет весь адрес идущий после имени домена(т.е. берущий site.net.ru/load/4 то что выделено красным) и вставляющий его в определенную ссылку. Например, пользователь зашел на какую то страницу site.net.ru/load/4, а такой страницы нет (о чем возвестит его 404.htm) и есть ссылка - "Посмотреть эту же страницу на site.ru" ведущая по адресу site.ru/load/4 . Если такое возможно реализовать, подскажите как, буду премного благодарен | | |
|
| mob_dp | Дата: 25 Декабря 2009, 14:20 | Сообщение # 2 | ● ● ● ● ● 4112 сообщений Статус: Offline | Denisгггг, ну для начала нужно попробовать на 404 получить document.referrer, а то нечего резать будет. | | |
|
| Denisгггг | Отредактировал Denisгггг - Пятница, 25 Декабря 2009, 19:39 Дата: 25 Декабря 2009, 19:39 | Сообщение # 3 | ● ● ● ● ● 232 сообщения Статус: Offline | А какой смысл получать ссылку сайта откуда пришел пользователь, ведь в UcoZ'e отображается 404 но в адресной строке остаётся адрес несуществующего материала Добавлено (25 Декабрь 2009, 19:39) --------------------------------------------- Насколько я понимаю (а я вери вери биг нуб в JS ), нужно брать window.location и обрезать... но вот только как это сделать - ума не приложу, поэтому и прошу помощи  | | |
|
| Infamous | Дата: 25 Декабря 2009, 19:49 | Сообщение # 4 |  ● ● ● ● ● 1670 сообщений Статус: Offline | нужно брать window.location и обрезать... но вот только как это сделать - ума не приложу, поэтому и прошу помощи как-то так: Code location.href.split('/')[4] 4 — после какого слеша обрезать адрес страницы. | | |
|
| mob_dp | Дата: 25 Декабря 2009, 22:45 | Сообщение # 5 | ● ● ● ● ● 4112 сообщений Статус: Offline | 4 — после какого слеша обрезать адрес страницы. вообще то делит строку на элементы массива по / и берет определенный элемент массива, а не обрезает. Code var a = location.href.split('/') var b='http://site.ru/'; for(i=3;i<a.length;i++) b = b + a[i] + '/'; location.href = b; не проверял | | |
|
| cucYa | Дата: 25 Декабря 2009, 23:01 | Сообщение # 6 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code location.href.match(/:\/\/[a-z0-9-_\.]+\/(.+)/i)[1] | | |
|
| Denisгггг | Дата: 28 Декабря 2009, 20:30 | Сообщение # 7 | ● ● ● ● ● 232 сообщения Статус: Offline | mob_dp, пасиба огромное , а можно как нибудь переход сделать не сразу, а, скажем через определенное кол-во секунд  | | |
|
| cucYa | Дата: 28 Декабря 2009, 20:40 | Сообщение # 8 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code setTimeout(function(){location.href = 'http://site.ru/' + location.href.match(/:\/\/[a-z0-9-_\.]+\/(.+)/i)[1]}, 5000); // 5 sec | | |
|
| Бармалей | Дата: 28 Декабря 2009, 20:40 | Сообщение # 9 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Code location.href.split('/').slice(3).join('/')
 | | |
|
| Denisгггг | Дата: 28 Декабря 2009, 22:21 | Сообщение # 10 | ● ● ● ● ● 232 сообщения Статус: Offline | Бармалей, не совсем понял твой код, но все равно спасибо , cucYa, пасиба большое , в общем получилось так: Code <script> var a = location.href.split('/') var b='http://site.ru/'; for(i=3;i<a.length;i++) b = b + a[i] + '/'; setTimeout(function(){location.href = b}, 5000); // 5 sec </script> | | |
|