У меня есть ссылка, которая приводит пользователя к итальянской версии моего сайта. Я хочу определить атрибут href этого якоря, используя javascript, чтобы он относился к текущей странице. Вот HTML:Как я могу правильно определить атрибут href с помощью JavaScript?
<a href="javascript:changeLanguage()" id="lang-link"" >Italiano</a>
и вот JavaScript:
function changeLanguage(){
var pathArray = window.location.pathname.split('/');
var filename = pathArray[2];
var newURL = window.location.protocol + "://" + window.location.host + "/ITALIANO/" + filename;
document.getElementById("lang-link").href= newURL;
};
Когда я нажимаю на ссылку, я должен нажать дважды, чтобы загрузить новую страницу и загружает ошибку. Мое кодирование приводит меня к:
http://www.ilcataldo.com/de/http:://www.ilcataldo.com/ITALIANO/shows.html
вместо:
http://www.ilcataldo.com/ITALIANO/shows.html
Может кто-нибудь объяснить, что я делаю неправильно? Я начинающий учитель!
Спасибо, Cathal
В первый раз, когда вы нажимаете на ссылку, все, что она делает, это изменение 'href' ссылки, оно не перезагружает страницу с этого URL-адреса. Вы должны щелкнуть его снова, чтобы перейти по новой ссылке. – Barmar
, чтобы перейти к новому URL-адресу, выполните 'document.location.href = newURL' – Barmar
. Ошибка в построении URL-адреса. См. Ответ ниже. –