Boas colegas. Estou com um problema que não estou a conseguir solucionar. Bem, estava a seguir um tutorial que gostaria de aplicar no meu projecto na qual explica como criar a funcionalidade de ter duas línguas no website, do tipo mudar de português para inglês e vice-versa. Fui seguindo o video e até traduz sim, mas a função que permite fazer o reload da página dá, o seguinte erro:
Uncaught TypeError: Cannot set property ‘onclick’ of undefined
Abaixo deixo o código:
...
<body>
<a href="#eng" data-reload>English</a>
<a href="#es" data-reload>Espanhol</a>
<p id="hi">
Welcome everyone!
</p>
<script>
// define language reload anchors
var dataReload = document.querySelectorAll("[data-reload]");
var hi = document.querySelector("#hi");
// language translation
var language = {
eng: {
welcome: "Welcome everyone!"
},
es: {
welcome: "Bienvenidos todos!"
}
};
//Define language via window hash
if(window.location.hash){
if(window.location.hash === "#es"){
hi.textContent = language.es.welcome;
}
}
// define language reload onclick iliteration
for (i = 0; i <= dataReload.length; i++) {
dataReload[i].onclick = function() {
window.location.reload(true);
};
}
</script>
</body>
...
O erro aponta para a seguinte linha:
dataReload[i].onclick = function() {
Ou seja apenas é feita a tradução quando faço a atualização da página. E no tutorial essa função supostamente que é que iria fazer. O que devo fazer para poder ultrapassar este problema? Alguma dica? Abaixo deixo o link do video no youtube: