Доброго всем дня! В одной переменной записан адрес текущей страницы Код (Javascript): var thisPage = document.location.href; // http://arc.rob.ru дает адрес текущей страницы в др. переменной записан точно такой же адрес Код (Javascript): value.url = 'http://arc.rob.ru'; Почему при сравнении этих двух переменных не дает 'true'? Код (Javascript): if(value.url == thisPage){ console.log('Значения одинаковые');} Заметил вот что, если выводить в консоль оба значения, то они становятся ссылками. Так вот на одну нажимаю и попадаю на тот адрес, который указан в ссылке, а вторую нажимаю и попадаю в консоли в самое начало листинга той же самой страницы. Полагаю причина в типах переменных, но не знаю как исправить эту ошибку. Прошу о помощи, спасибо!
В том то и дело, что в консоль я уже все вывел и там абсолютно одинаковые данные. Причем что интересно на др. адресе все работает, а на этом не хочет. Может быть причина в том, что домен третьего уровня? Листинг консоли: Код (Text): Текущая страница: http://architec.3440.aqq.ru/ aw-leftconsole.js:18 Главная http://architec.3440.aqq.ru / http://architec.3440.aqq.ru/ aw-leftconsole.js:18 Заказы / http://architec.3440.aqq.ru/ aw-leftconsole.js:18 Список заказов http://architec.3440.aqq.ru/aw-engine/aw-login/ / http://architec.3440.aqq.ru/ aw-leftconsole.js:18 История платежей http://architec.3440.aqq.ru/aw-engine/aw-login/ / http://architec.3440.aqq.ru/ aw-leftconsole.js:18 Выход http://architec.3440.aqq.ru/aw-engine/aw-login/aw-logout.php / http://architec.3440.aqq.ru/ В частности меня интересует значение к пункту "Главная". Если переменные равны, то пункт выделить др. цветом.
Код (Javascript): <script> function this_url() { var loc = window.location; var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/') + 1); return loc.href.substring(0, loc.href.length - ((loc.pathname + loc.search + loc.hash).length - pathName.length)); } var this_url = this_url(), d = document; var url_array = ['http://localhost/', 'http://localtest2/', 'http://localtest1/', 'http://localtest3/']; for ( u in url_array ) { d.write ( '<div style="color:'+(url_array[u] == this_url ? 'red' : '' )+'">'+url_array[u]+'</div>' ); } </script> Можешь и свое доменное имя подставить. Вообще, твой thisPage может содержать и параметры, и слеш на конце, поэтому сравнение и не проходит. Объяснил бы задачу вообще и как сейчас процесс происходит.
Хотел коротко, чтобы не отнимать лишними данными время у людей Задача проста, у меня в MYSQL есть список пунктов меню. Каждый пункт выводится через JS. Если пункт имеет ту же ссылку, что и адрес текущей страницы, значит он активен и его нужно выделить другим стилем. --- Добавлено --- Конечно, т.е. в одной из переменных есть \n или что-то еще? Вот я туплю, там же слэш стоит... Но у меня то его нет и в листинге видно, что одинаковые ссылки
Где ты там перенос строки увидел? Смотри внимательно, по символьно сравнивай, если в глаза не бросается! --- Добавлено --- Твой же пример: Код (Javascript): aw-leftconsole.js:18 Главная http://architec.3440.aqq.ru / http://architec.3440.aqq.ru/
Вот это я СТУПИЛ, РУКОЖОПЫЙ Выходит зря только народ баламучу )))) --- Добавлено --- Братцы, все заработало!!!!! Я прошу прощения И огромное спасибо за помощь!