我有一个非常简单的页面(下面复制的整个内容),加载后,随机将用户重定向到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>
答案 0 :(得分:1)
而不是
document.location.href = pageArr[Math.ceil(Math.random()*7)];
你需要的是
document.location.href = pageArr[Math.floor(Math.random()*7)];
使用ceil
时,最后一项将始终不存在,因为它将等于数组的长度。在数组索引从0开始。所以你需要使用floor