![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Есть например какойто аддрес window.location
к примеру http://aaaaa.aaaa.aaa/path1/path2 так мне нужно последний path2 обрезать и остовлять только http://aaaaa.aaaa.aaa/path1/. Каким образом это можно зделать? Добавлено @ 17:49 может есть что то типа dirname как в рнр? |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Адрес правильнее брать как window.location.href; |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Zeroglif, сорри что встреваю, но можно заодно узнать 1) почему, и 2) каково вообще современное состояние дел с "location.href vs просто location" как в плане считывания, так и в плане изменения? А то Денни Гудмен своей "библией" меня в свое время по этой части слегка запутал... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 2 Всего: 32 |
SelenIT, просто так правильней и кроссбраузерней.
-------------------- ![]() ![]() |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Хто мы супротив гудманов? Состояние дел по моему разумению таково: location vs. location Первоначально в JavaScript 1.0 (NN 2.0) были введены два свойства для двух разных объектов: 1) window.location - объект с определёнными свойствами (href, host и т.д.); 2) document.location - строка (read only), равнозначная window.location.href; При этом нетскэйповцы сразу обозначили, что обращение к объекту window.location без прямого указания какого-либо из его свойств (href, host и т.д.) равнозначно обращению к window.location.href (спорно, но так уж изначально сделали), то есть нижеприведённые конструкции эквивалентны:
В JavaScript 1.1 (NN 3.0) было введено новое свойство document.URL (в некоторых браузерах до сих пор строго read only, в других - нет), по сути это был эквивалент того же document.location, а само свойство document.location хоть и не было признано deprecated, но было указано о нежелательности его использования (то же самое в JavaScript 1.2(NN 4.0-4.05)). В JavaScript 1.3 (NN 4.06-4.5) свойство document.location было официально признано deprecated. Но вне рамок спецификаций свойство стало бессмертным и продолжало жить, сначала read only, потом вдруг read write, кроме того свойство трансформировалось, появилась недокументированная возможность через него обращаться по ссылке к свойствам window.location, то есть document.location по сути стал ссылкой на объект window.location со всеми его свойствами. Пользоваться этим можно, что доказывает огромное количество скриптов, но... осторожно (в зависимости от версий может и не работать). JScript развивался как всегда своеобразно, в JScript 1.0 (IE 3.0) зачем-то появилось свойство document.location.href (у Netscape-a href там не было никогда), а позже document.location официально стал полным эквивалентом window.location (возможно поэтому ради совместимости и в JavaScript точно так же, но не слишком официально). А может это было связано с лексическим окружением переменных внутри кода обработчиков, когда народ просто писал location в атрибутах, подразумевая window.location, а нарывался на document.location со всеми возможными последствиями. В любом случае в свежей мозильной вики-доке рекомендуют всё-таки использовать window.location: "For cross-browser safety, use window.location". Резюме (для стандартных привычных действий put/get адреса): 1) document.location - в топку (пока, до стандарта http://www.w3.org/TR/Window/#document-location); 2) document.URL - в топку (если только специально не нужно); 3) window.location - писать; 4) window.location.href - читать; http://developer.mozilla.org/en/docs/DOM:window.location http://developer.mozilla.org/en/docs/DOM:document.location http://msdn.microsoft.com/library/default....bj_location.asp http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-46183437 - document.URL readonly |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Zeroglif, колоссальное спасибо за как всегда предельно точное и понятное разъяснение ситуации!
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Zeroglif, у меня есть проблемка по этому поводу пишет такую ошибку
s.lastIndexOf is not a function Добавлено @ 11:43 Zeroglif, ой извини зделал toString и все ок. Спасибо. |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
||||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |