如何在Javascript中创建url随机数发生器?

时间:2012-01-12 01:03:51

标签: javascript html css

我想要什么 -

单击图像时执行的Javascript url随机数发生器。我不希望浏览器导航到其他页面,我希望随机网址加载到iframe中。我如何制作随机数(一些随机网址 - http://www.google.comhttp://www.yahoo.comhttp://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)

4 个答案:

答案 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;
    };
}());