Hola foreros, ando con un problema que me esta comiendo el coco, cabe aclarar que es la primera vez que toco javascript en mi vida.
Mi problema esta en el ultimo SetInterval. Justamente este:
SetInterval(function(){ location.reload(true); }, Math.floor((Math.random() * intervaloMax) + intervaloMin));
Lo que busco es recargar la pagina cada 1 o 2 minutos. Probe un monton de formas que habia en internet y nada, no puedo hacerlo andar :-(
El navegador me responde con un rotundo:
CitarReferenceError: SetInterval is not defined
var intervaloMin = 60000;
var intervaloMax = 120000;
var nMiliMin = 1800000;
var nMiliMax = 2100000;
function arreglarHora(hora, valor) {
return hora+valor-3;
}
function refrescar(){
location.reload(true);
}
function hacerBump() {
var nHora;
var nMinutos;
var nHoraActual;
var nMinutosActual;
var bActivar = true;
// Tomamos la hora del ultimo bump
var tf2UltimoBump = document.getElementsByTagName("time");
var aux = tf2UltimoBump[0].attributes[1].value;
var tiempo = aux.substr(15);
// --------------------------------
nHora = parseInt(tiempo, 10);
if(nHora <= 9)
nMinutos = parseInt(tiempo[2]+tiempo[3], 10);
else
nMinutos = parseInt(tiempo[3]+tiempo[4], 10);
if(nHora < 12)
nHora = arreglarHora(nHora, 0);
else
nHora = arreglarHora(nHora, 12);
var date = new Date();
nHoraActual = date.getHours();
nMinutosActual = date.getMinutes();
var nHoraAux, nMinAux;
if(nMinutosActual - nMinutos < 0){
nMinAux = (nMinutosActual - nMinutos) + 60;
nHoraAux = (nHoraActual - nHora) - 1;
nMinAux += nHoraAux*60;
}
else{
nMinAux = (nMinutosActual - nMinutos);
nHoraAux = (nHoraActual - nHora);
nMinAux += nHoraAux*60;
}
if(nMinAux >= 30)
bActivar = true; // Pasaron 30 min? mandale mecha
else
bActivar = false;
if(bActivar == true){
var tf2Bump = document.getElementsByClassName("trade_bump"); // Le añadimos el atributo
var atributoId = document.createAttribute("id"); // ID al boton
atributoId.nodeValue = "botonbump"; // para utilizar el metodo click
tf2Bump[0].attributes.setNamedItem(atributoId); // en el mismo.
var idBoton = document.getElementById("botonbump");
idBoton.click();
bActivar = false;
location.reload(true);
SetInterval("hacerBump();", Math.floor((Math.random() * nMiliMax) + nMiliMin));
}
else{
SetInterval(function(){ location.reload(true); }, Math.floor((Math.random() * intervaloMax) + intervaloMin));
}
}
hacerBump();
Recurro a ustedes, genios de la informática y la programación porque esto me esta desmotivando, no puedo creer que una simple linea me vuelva loco!!
XD no está declarado porque no es
SetInterval(...)
es
setInterval(...)
los nombres de las funciones inician en minusculas, y en JScript para separar las otras palabras luego de la primera van capitalizadas
indexOf, parseInt, getElementsByClassName, setNamedItem...
creo que ya tienes la idea! XD
Cita de: engelx en 18 Marzo 2014, 05:06 AM
XD no está declarado porque no es
SetInterval(...)
es
setInterval(...)
los nombres de las funciones inician en minusculas, y en JScript para separar las otras palabras luego de la primera van capitalizadas
indexOf, parseInt, getElementsByClassName, setNamedItem...
creo que ya tienes la idea! XD
Creo que tengo lag mental a esta hora de la noche.
Lo cambie y funciono :o pero como es posible que el SetInterval de arriba me funcione y el de abajo no? Gracias por la rapidez de la respuesta. Actualmente uno esta puesto con mayuscula y el otro no :huh: :huh: :huh:
si, los nombres de las funciones y variables en muchos lenguajes (por no decir todos) son sensibles a mayúsculas, así que por ejemplo podrías hacer
function aa(Aa, AA){
for(var aA=0; aA<Aa; aA++){
alert (AA);
}
}
var AA=2;
var aA= "Aa?"
aa(AA, aA);
y correría perfectamente XD (lo iba a hacer con 3 a, pero puede producirle un acv a quien lo vea XD)