我的随机链接有问题

时间:2017-12-18 12:18:36

标签: javascript html random

我有一个非常简单的页面(下面复制的整个内容),加载后,随机将用户重定向到7篇文章之一。一篇文章(链接列表中的最后一篇)每次都会导致404错误,我无法弄清楚原因。复制并粘贴到浏览器中时链接正常工作。任何帮助指出什么是搞砸的都会很棒,谢谢。

<!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 个答案:

答案 0 :(得分:1)

而不是

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

你需要的是

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

使用ceil时,最后一项将始终不存在,因为它将等于数组的长度。在数组索引从0开始。所以你需要使用floor