2017-12-18 3 views
1

Ich habe eine sehr einfache Seite (ganze Sache kopiert unten), die nach dem Laden zufällig den Benutzer auf einen von 7 Artikeln umleitet. Ein Artikel (der letzte in der Liste der Links) verursacht jedes Mal einen 404 Fehler und ich kann nicht herausfinden warum. Der Link funktioniert einwandfrei, wenn er in den Browser kopiert und eingefügt wird. Jede Hilfe, die darauf hinweist, was schief geht, wäre wunderbar, danke.Da ist etwas falsch mit meinem randomisierten Link

<!DOCTYPE HTML> 
<html> 
<head> 
    <!-- Global site tag (gtag.js) - Google Analytics --> 
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-34602317-1"></script> 
    <script> 
     window.dataLayer = window.dataLayer || []; 
     function gtag(){dataLayer.push(arguments);} 
     gtag('js', new Date()); 

     gtag('config', 'UA-34602317-1'); 
    </script> 

    <title>Words That Kinda Matter</title> 
    <meta charset="utf-8" /> 
    <script type="text/javascript"> 
     var pageArr = ["https://medium.com/@olivershiny/eb47cffd04f1", "https://medium.com/@manfraiya/a2a3fcfd046c", "https://medium.com/@sravss/43f43d67593c", "https://medium.com/@rachaelflanery/9d457ba9a357", "https://medium.com/@benjaminsledge/9a19b7f85dfb", "https://medium.com/@writingsolo/7dac9351cd57", "https://medium.com/@justincox/46342de79f68"]; 
     document.location.href = pageArr[Math.ceil(Math.random()*7)]; 
    </script> 
</head> 
<body> 



</body> 

+1

verwenden 'Math.ceil (Math.random() * 7)' kann '7' sein, die die Länge Ihres Arrays ist. – Titus

Antwort

2

Statt

document.location.href = pageArr[Math.ceil(Math.random()*7)]; 

, was Sie brauchen, ist

document.location.href = pageArr[Math.floor(Math.random()*7)]; 

Mit ceil der letzte Punkt wird immer nicht vorhanden sein, da es auf die Länge gleich sein von das Array. In einem Array beginnen die Indizes von 0. Also müssen Sie floor

+0

Das hat den Trick gemacht. Danke und danke für die Erklärung! – Justin