2012-01-12 96 views
0

我想要什么 -如何在Javascript中创建一个url随机数发生器?

Javascript网址随机数发生器,单击图像时执行。我不希望浏览器导航到不同的页面,我想随机网址的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)

+1

这就需要有随机的网址 – jValdron 2012-01-12 01:05:14

+0

这将是一个数据库'myFrame.src = randomUrl',不'myFrame.src = Math.random'。 – gilly3 2012-01-12 01:25:24

+0

你想要的最后两行是什么'的document.getElementById( 'myframe')SRC = randomURL;' – qw3n 2012-01-12 17:39:09

回答

0

存储在数组中的URL。在事件中,使用random方法选择一个随机URL。

var urls = ['1', '2', '3']; 
function onClick() { 
    var randomUrl = urls[Math.floor(Math.random() * urls.length)]; 

    alert(randomUrl); 
} 
0

一放就乱的URL列表中的数组,然后使用Math.random得到一个指数为阵列返回一个随机的网址。

var urls=['url1.com','url2.com','url3.com']; 
var randomURL = urls[Math.floor(Math.random()*urls.length)]; 
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)]; 
} 
0

随机选择的网址可能会返回相同的URL两个(或更多)倍成一排。另外,如果访问者随机选择多次,访问者可能不会同等访问所有URL。

,以确保他们从来没有在连续获得相同的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; 
    }; 
}());