Script para cargar la página aleatoria en la página Cargar / actualizar? -- javascript campo con jquery campo con html campo con cycle camp Relacionados El problema

Script to load random page on page load/refresh?


0
vote

problema

Español

Estoy buscando algo que me permita tener una página en el directorio raíz seleccionado aleatoriamente seleccionado para cargar cada vez que la página se carga primero y con subsiguientes recargas / actualizaciones. Tengo un índice.html e index2.html por ejemplo, ligeramente diferentes entre sí en el directorio raíz.

He intentado los googles, pero no puedo encontrar nada / todo lo que he intentado no está funcionando.

El JavaScript que estoy tratando actualmente, intente usar es:

  var howMany = 3;  // number of pages below, count them.  howMany = howMany-1 var page = new Array(howMany+1);  page[0]="index.html"; page[1]="index2.html"; page[2]="index.html";  function rndnumber(){     var randscript = -1;     while (randscript < 0 || randscript > howMany || isNaN(randscript)){         randscript = parseInt(Math.random()*(howMany+1));     }     return randscript; } quo = rndnumber(); quox = page[quo]; location.href=(quox);   

Si lo pruebo localmente, parece que funciona, pero se atasca en un bucle infinito y automático de recarga / actualización por alguna razón. Cuando lo subo al servidor, no hay un bucle de recarga, pero la aleatorización no funciona, simplemente carga el índice.html

Tengo una página de prueba aquí: http://www.samnorris.co.nz / test2 / que tiene tanto el índice.html e index2.html en el directorio raíz

¿Puede alguien ofrecer alguna pista por qué podría no estar funcionando correctamente y / o una mejor solución?

¡Gracias!

Original en ingles

I'm looking for something that will allow me to have a page in the root directory randomly selected to load each time the page is first loaded and with subsequent reloads/refreshes.. I have an index.html and index2.html for example slightly different from each other in the root directory.

I have tried teh Googles but can't find anything / everything I have tried isn't working.

The javascript I'm currently trying try to use is:

var howMany = 3;  // number of pages below, count them.  howMany = howMany-1 var page = new Array(howMany+1);  page[0]="index.html"; page[1]="index2.html"; page[2]="index.html";  function rndnumber(){     var randscript = -1;     while (randscript < 0 || randscript > howMany || isNaN(randscript)){         randscript = parseInt(Math.random()*(howMany+1));     }     return randscript; } quo = rndnumber(); quox = page[quo]; location.href=(quox); 

If I test it locally it seems like it works but it gets stuck in an infinite and automatically reloading/refreshing loop for some reason. When I upload it to server there's no reloading loop but the randomization doesn't work, it just loads the index.html

I have a set up a test page here: http://www.samnorris.co.nz/test2/ which has both the index.html and index2.html in the root directory

Can anyone offer any clue why this might not be working properly and/or a better solution?

thanks!

           
   
   

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

El JavaScript se ejecuta en el cliente en la carga de la página. Por lo tanto, cada vez que carga la página, selecciona aleatoriamente una página y redirige a esa página. Esa página tiene un poco de JavaScript que cuando se ejecuta, selecciona una página aleatoria y carga que, ...

Una mejor solución sería manejar la porción de la página en el servidor usando un idioma del lado del servidor. PHP, por ejemplo. El código sería algo así:

index.php

  docker run6  
 

The javascript is executed on the client on page load. So everytime you load the page, it randomly selects a page and redirects to that page. That page then has some JavaScript emebedded that when executed, selects a random page and loads that, ...

a better solution would be to handle the serving of the page on the server using a server side language. PHP for instance. The code would be something like this:

index.php

<?php $randNumber = mt_rand(1,3); if ( $randNumber == 1 ) {     include 'index_1.html'; } else {     include 'index_2.html'; } 
 
 
         
         
1
 
vote

Tienes que, de alguna manera, decirle al guión que ya ha sido redirigido. Esto podría lograrse probablemente usando la ubicación. HASH:

  if (location.hash === "#redirected") {   location.hash = ""; } else {   quo = rndnumber();   quox = page[quo];   location.href=(quox) + "#redirected"; }   
 

You have to, somehow, tell the script it has been already redirected. This could be probably achieved using location's hash:

if (location.hash === "#redirected") {   location.hash = ""; } else {   quo = rndnumber();   quox = page[quo];   location.href=(quox) + "#redirected"; } 
 
 
         
         
0
 
vote

Cree un archivo HTML separado con el siguiente contenido en el mismo directorio que su "index*.html" Archivos:

  <script type="text/javascript">     var pages = [         "index.html",         "index2.html",         "index3.html"     ];      function randomPage() {         return pages[Math.round(Math.random() * (pages.length - 1))];     }      location.href= randomPage(); </script>   
 

Create separate html file with the following content in the same dir as your "index*.html" files:

<script type="text/javascript">     var pages = [         "index.html",         "index2.html",         "index3.html"     ];      function randomPage() {         return pages[Math.round(Math.random() * (pages.length - 1))];     }      location.href= randomPage(); </script> 
 
 

Relacionados problema

0  Ciclo de jQuery que ejecuta secuencia de múltiples rotadores  ( Jquery cycle running sequence of multiple rotators ) 
Estoy intentando tener 3 rotadores en una página que se ejecute en una moda secuenciada pero sin transiciones sincronizadas. Escribí el siguiente código, pe...

0  Plugin de ciclo de jQuery: obtener un buscapersonas para la transición dentro de un contenido mixto Slideshow DIV  ( Jquery cycle plugin getting pager to transition within a mixed content slidesho ) 
He estado experimentando con el complemento de ciclo de jquery increíble de Malsup y he golpeado un poco de un obstáculo. He estado usando contenido mixto en ...

1  Java Sincronizar el ciclo con devoluciones de llamada  ( Java synchronize cycle with callbacks ) 
Tengo esta función que descarga todos los archivos en el Lista de Array y quiero hacer esto "síncrono", quiero decir que quiero descargar solo un archivo en e...

2  Unión: encontrar algoritmo y determinar si un borde pertenece a un ciclo en un gráfico  ( Union find algorithm and determining whether an edge belongs to a cycle in a gra ) 
Estoy leyendo un libro sobre algoritmos ("estructuras de datos y algoritmos en C ++") y se han encontrado con el siguiente ejercicio: ex. 20. Modificar cy...

-1  Código de verificación complicado en un formulario  ( Tricky verification code on a form ) 
Tengo un control de control implementado en un formulario codificado de esta manera: public function checkCittaResidenza() { if (is_string($this->citta...

8  Problema de flotador de plugin Z-índice de círculo de jquery  ( Jquery cycle plugin z index float problem ) 
Cuando intento colocar un elemento en la parte superior de mi elemento de ciclo jquery, no funciona. El elemento está siempre detrás del elemento de ciclo jqu...

0  ¿Una forma más rápida de averiguar si se forma un ciclo si algún nodo tiene como máximo 2 bordes?  ( A faster way to find out whether a cycle is formed if any node has at most 2 edg ) 
En primer lugar, no hay tarea. Aquí está el problema: An undirected unweighted graph has N nodes. Any node can have at most 2 edges to different nodes. ...

4  Desplazable, carrusel, deslizador en jQuery sin ningún complemento, la forma más sencilla  ( Scrollable carousel slider in jquery without any plugin the simplest way ) 
Busco tutorial de busco sobre jQuery Slider (como complemento de desplazamiento) con animación de ciclo. Sin ningún complemento, la forma más sencilla, tutori...

3  ¿Cómo puedo programar un enrutador?  ( How do i programmatically cycle a router ) 
Tengo la necesidad de poder acceder a mi enrutador de Linksys a través de un programa, la razón por la que quiero hacer esto es complejo, así que vamos a supo...

0  CAMBIO DE PEDIDO DE CICLO DE JQUERY CICLO  ( Jquery cycle fade order change ) 
$('.rotateme').cycle({fx:'fade',speed:2500,timeout:3000,next:'#arrowright',prev:'#arrowleft',sync:1,pause:1}); HAI DUDES, el código anterior es lo que es...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos