Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新加载时加载随机HTML页面_Javascript_Jquery_Html - Fatal编程技术网

Javascript 重新加载时加载随机HTML页面

Javascript 重新加载时加载随机HTML页面,javascript,jquery,html,Javascript,Jquery,Html,我有一堆不同的html页面,需要在每次刷新页面时随机加载一个。这就是我目前所拥有的,唯一的问题是我陷入了一个无限的刷新循环。我怎么能让它在刷新时只加载一个页面 var sites = ['/one.html', '/two.html', '/three.html']; var randomUrl = sites[Math.floor(Math.random() * sites.length )]; window.location.reload = randomUrl; 提前谢谢 简

我有一堆不同的html页面,需要在每次刷新页面时随机加载一个。这就是我目前所拥有的,唯一的问题是我陷入了一个无限的刷新循环。我怎么能让它在刷新时只加载一个页面

  var sites = ['/one.html', '/two.html', '/three.html'];
  var randomUrl = sites[Math.floor(Math.random() * sites.length )];
  window.location.reload = randomUrl;

提前谢谢

简单修复将传递一个参数

window.location.reload = randomUrl + "?reload=0";
并在执行此操作之前检查reload=0查询参数

window.location.reload = randomUrl;

如果你只是写一个小的非生产性学习页面(因为在我看来这不是一个好的实践)。你可以用一块饼干


我将为您创建sessionStore,因为如果浏览器关闭,它将重置,但实际上,这一点并不重要。

您会得到一个无限循环,因为每次加载新页面时,脚本都会一次又一次地执行,而且还因为您在每个html中都加载了相同的脚本。您可以使用事件触发器,使其仅在事件发生后执行,例如,单击鼠标(下面的示例) 如果希望此随机页面仅打开一次,则可以仅将脚本放在主页中

document.onclick = reloadpage;

function reloadpage() {
    var sites = ['/one.html', '/two.html', '/three.html'];
    var randomUrl = sites[Math.floor(Math.random() * sites.length )];
    window.open(randomUrl, "_self");
}

你可能在所有三个HTML页面中都有这个脚本吗?我有。。。这就解释了为什么它被困在一个循环中。如果脚本没有加载到每个页面上,它怎么知道在刷新时加载一个随机文件呢?你是想加载一个页面,然后转发到三个随机页面中的一个,还是想在点击三个页面中的一个时转发到一个随机页面?我正在构建一个StumbleUpon(但使用本地URL),因此,我不一定要寻找任何转发,而不仅仅是每次用户刷新页面时随机加载任何html页面。有道理吗?有道理。您可以创建一个
index.html
页面,使用AJAX在其中加载一个随机文件,并将其内容插入DOM。我现在要写一个更详细的答案来描述这一点。这似乎对我不起作用。重新加载时不加载任何其他html页面。我对javascript也有点陌生,所以我只是简单地复制和粘贴。这对我很有用!非常感谢。只是好奇,为什么这被认为是坏习惯?我不知道…这只是感觉。也许可以:)
document.onclick = reloadpage;

function reloadpage() {
    var sites = ['/one.html', '/two.html', '/three.html'];
    var randomUrl = sites[Math.floor(Math.random() * sites.length )];
    window.open(randomUrl, "_self");
}