Tengo esta página html, con código javascript, pero no puedo obtener el código para abrir una de las 3 páginas de los casos, el tiempo de espera establecido funciona, pero para conectar el trabajo de la página seleccionada al azar, he adjuntado el código cf. a continuación, si soy una persona experta en javascript que puede decir qué se debe hacer para que funcione, estaría agradecido.
el navegador abre esto http://localhost:62206/'sitelist[ran]'
mi código html y javascript a continuación aquí
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> <script language="Javascript"> var sitelist = new array; sitelist[0] = "www.ford.com"; sitelist[1] = "www.bmw.com"; sitelist[2] = "www.mercedes.com"; var ran = Math.floor(Math.random() * sitelist.length); </script> </head> <body onload="myFunction()"> <h1>Hello World!</h1> <script> function myFunction() { setTimeout(function () { location.href = "'sitelist[ran]'" }, 7000); } </script> </body> </html>`Es Array() no array .
Y envolvió la lista de sitelist[ran] en "' '" por alguna razón, elimínela.
Cuando usa comillas, crea una cadena, pero no creo que eso sea lo que quiera hacer allí.
o puedes declararlo tan simple como eso
var sitelist = [];Espero que estés bien, aquí hay algunos cambios menores en tu código para resolver tus problemas, responderé a las preguntas si es necesario.
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> <script language="Javascript"> var sitelist = []; sitelist[0] = "https://www.ford.com/"; sitelist[1] = "https://www.bmw.com/fr/index.html"; sitelist[2] = "https://www.mercedes-benz.com/en/"; var ran = Math.floor(Math.random() * sitelist.length); </script> </head> <body onload="myFunction()"> <h1>Hello World!</h1> <script> function myFunction() { setTimeout(function () { window.location.href = sitelist[ran] }, 7000); } </script> </body> </html>