我想要什么 -
单击图像时执行的Javascript url随机数发生器。我不希望浏览器导航到其他页面,我希望随机网址加载到iframe中。我如何制作随机数(一些随机网址 - http://www.google.com,http://www.yahoo.com,http://www.stackoverflow.com)?
编辑 - 所以用这个
var urls=['url1.com','url2.com','url3.com'];
var randomURL = urls[Math.floor(Math.random()*urls.length)];
myframe = get("myframe")
myframe.src = Math.random;
它会导航到iframe中的随机网址吗? (顺便说一下,iframe的名字是myframe)
答案 0 :(得分:0)
将URL存储在数组中。在活动中,使用random
方法选择随机网址。
var urls = ['1', '2', '3'];
function onClick() {
var randomUrl = urls[Math.floor(Math.random() * urls.length)];
alert(randomUrl);
}
答案 1 :(得分:0)
在数组中放入随机网址列表,然后使用Math.random
获取数组的索引以返回随机网址。
var urls=['url1.com','url2.com','url3.com'];
var randomURL = urls[Math.floor(Math.random()*urls.length)];
答案 2 :(得分:0)
试试这个:http://jsfiddle.net/UMQUw/
var links = ['http://microsoft.com', 'http://yahoo.com', 'http://bing.com'];
function loadRandomUrl() {
var frame = document.getElementById("myframe");
frame.src = links[Math.floor(Math.random() * links.length)];
}
答案 3 :(得分:0)
随机选择一个URL可能会连续两次(或更多次)返回相同的URL。此外,如果多次随机选择,访问者可能无法平等地访问所有网址。
为确保他们连续两次不会获得相同的网址,并且每次访问相同的网址,请考虑以下内容:
var getRandomURL = (function() {
var oUrls = ['http://www.a.com','http://www.b.com','http://www.c.com'];
var urls = [];
var previous;
return function() {
if (!urls.length) urls = oUrls.slice(0);
var i = Math.random()*urls.length | 0;
if (urls[i] == previous) return getRandomURL();
previous = urls.splice(i, 1);
return previous;
};
}());