У меня есть приложение Angularjs, которое генерирует аутосуппозиции в таблице. Каждый элемент в таблице имеет прикрепленный к нему URL (через шаблоны Angularjs). Если я запускаю автозагрузку и выбираю ссылку с помощью мыши, она отлично работает с URL-адресом, например domain.com/#/samples/sampleName.html
(я знаю, что это немного странно с точки зрения использования Angular, но поверьте, есть странные причины SEO для этого. причины пути, а не мои.)Javascript или браузер устанавливают местоположение по-разному
Если вы нажмете на ссылку (с помощью мыши), это нормально. Если вы нажмете на ссылку, проверив ее в источнике страницы с помощью инструментов браузера, она работает нормально. Тем не менее, это немного яваскрипта кода (позволяя кому-то пройти через автозаполнением список с помощью клавиш со стрелками и нажать ввести должны перейти на страницу, а также.
selectedURL = $('#autosuggest').children().attr('href');
alert('You selected ' + selectedURL);
location = selectedURL;
настороже показывает правильную форму URL. Тем не менее, когда местоположение получается, я получаю что-то вроде этого domain.com/#%2Fsamples%2FsampleName.html
, и когда это произойдет, браузер (по правде говоря) ничего не делает. Почему эти два метода (щелчок и установка объекта местоположения) кодируют URL-адрес по-разному?
Спасибо, Ozrix. Я согласен, что должен сделать трюк, но это не так. Я также попытался установить location.href и location.hash отдельно, но это все еще не делает этого. – russellmania
можете ли вы предоставить полный код? – Ozrix