2013-04-07 1 views
0

Это javascript меню для веб-сайта, который я обновляю. Я хочу добавить динамическую ссылку (id = IT-LINK) для ссылки на итальянскую версию сайта. Но URL-адрес должен изменяться в зависимости от того, на какой странице находится программа просмотра. Может кто-нибудь, пожалуйста, скажите мне, как это сделать !? Я очень новичок в javascript и сам изучаю. Спасибо, CataldoИзменение URL-адреса ссылки с javascript

window.onload = uline; 

var pagename = document.getElementById("TAG").getAttribute("data-name"); 

function uline() 
{ 
if (pagename == 'HOME') 
document.getElementById(pagename).style.color="#ffffff"; 
else 
document.getElementById(pagename).style.textDecoration="underline"; 
} 


document.write('<DIV CLASS=RIGHT><B>'); 

document.write('<a href=\"+link+'\"  id=IT-LINK  >ITALIANO</a> &nbsp;&nbsp;&nbsp;'); 
document.write('<br><br>'); 
document.write('<a href="news.html"  id=NEWSLETTER >NEWSLETTER</a> &nbsp;&nbsp;&nbsp;'); 
document.write('<a href="prodotti.html" id=PRODUCTS  >PRODUCTS</a> &nbsp;&nbsp;&nbsp;'); 
document.write('<a href="bio.html"  id=BIO   >PHILOSOPHY/BIOG</a> &nbsp;&nbsp;&nbsp;'); 
document.write('<a href="contatti.html" id=CONTACTS  >CONTACTS</a> &nbsp;&nbsp;&nbsp;'); 
document.write('<a href="home.html"  id=HOME   >HOME</a>'); 

document.write('</B></DIV>'); 
+0

Это все неправильно. A) вы не можете использовать document.write после загрузки страницы, b) вам нужно переместить назначение из DOM в onload, первое выражение перед функцией Urline не может сидеть там, где оно есть. – mplungjan

+0

Выглядит как дубликат [this] (http: // stackoverflow.com/questions/5785833/how-to-change-link-hrefs-via-javascript) – tpbowden

+0

Можете ли вы показать TAG и как установить атрибут? Вероятно, вам просто нужно location.pathname.substring (1) .split (".") [0] – mplungjan

ответ

0

Вы должны поместить свою ссылку в свой HTML с href на домашнюю страницу на итальянском языке. Это будет miniumum, если ваш посетитель не поддерживает javascript. Тогда для тех, кто с JavaScript, вы можете сделать это:

document.getElementById("IT-LINK").href = getItalianVersionOf(window.location.href); 

где getItalianVersionOf принимает ваш URL страницы и дает итальянскую версию этой ссылке.

Обратите внимание, что делать это на стороне сервера (например, с PHP) было бы лучше.

1

Я действительно не понимаю, как вы найдете эту страницу, но я оставлю эту логику вам. Чтобы заменить url, вы можете использовать код javascript ниже.

//your logic to find page and corresponding url 
    document.getElementById(linkId).setAttribute('href',yourLink); 

Позвольте мне сейчас, если требуется дополнительная информация.

0

Спасибо, ребята, за вашу помощь, но я нашел более простой способ сделать это. Добавив «/ it» к URL-адресу, я получаю ссылку, которая приводит меня к итальянской версии текущей веб-страницы.

document.write('<font size=2.5><a href="it/home.html" id=IT-LINK  >ITALIANO</a></font> &nbsp;&nbsp;&nbsp;'); 

var newURL = window.location.protocol + "//" + window.location.host + "/it" + window.location.pathname; 
document.getElementById("IT-LINK").href = newURL; 

НО, НО! Теперь я должен попросить вашу помощь в обратном: Как я могу вынуть «/ it» с итальянского URL, чтобы вернуть меня на английскую версию?