使用JavaScript正确指向包含随机数的网址的链接

时间:2012-05-31 20:06:17

标签: javascript html random hyperlink numbers

我正在管理一个论坛,我想在我的网站上添加一个访问随机用户个人资料页面的链接。

假设访问个人资料页面的网址格式为:http://www.mypage.com/#m=Profile&user_id=XXXXX(其中XXXXX是一个数字),我尝试使用此HTML代码:

<a target="_blank" href="http://www.mypage.com/#m=Profile&user_id=" onclick="this.href=this.href.split('?')[0]+(Math.floor(Math.random()*(75800000-59438709))+59438709)">Open a random profile. Click here!</a>

工作正常,当我点击此链接时,它会访问随机配置文件。但问题是:如果我再次点击该链接,它会访问一个带有新随机ID号的URL,并与之前的随机数字并列。

我的意思是:第一次点击链接时,我会访问网址 mypage.com/#m=Profile&user_id = 加上随机数字(例如4542) ,但在第二次尝试时,我访问了网址 mypage.com/#m=Profile&user_id=4542 以及另一个随机数字。

为了避免在再次点击之前刷新以获得正确的链接,我该怎么办?

提前致谢并抱歉我的英文不好

3 个答案:

答案 0 :(得分:2)

或者,您可以这样做:

<a target="_blank"
    href="http://www.mypage.com/#m=Profile&user_id="
    onclick="this.href='#m=Profile&user_id='+(Math.floor(Math.random()*(75800000-59438709))+59438709)">Open a random profile. Click here!</a>

这将创建一个指向仅哈希的部分的链接,并始终附加正确的ID。

答案 1 :(得分:1)

好吧,你有/#attr1&amp; attr2。

但是在分裂方法中,你正在分裂'?' 尝试使用

<a target="_blank" href="http://www.mypage.com/#m=Profile&user_id=" onclick="this.href=this.href.split('#')[0]+(Math.floor(Math.random()*(75800000-59438709))+59438709)">Open a random profile. Click here!</a>

以上将给你: http://www.mypage.com/XXXXX其中XXXXX是随机数。

对于“http://www.mypage.com/#m=Profile&user_id=XXXXX”格式,请使用:

<a target="_blank" href="http://www.mypage.com/#m=Profile&user_id=" onclick="this.href=this.href.split('#')[0]+'#m=Profile&user_id='+(Math.floor(Math.random()*(75800000-59438709))+59438709)">Open a random profile. Click here!</a>

答案 2 :(得分:0)

你可以在&amp;使用

<a target="_blank" href="http://www.mypage.com/#m=Profile&user_id=" onclick="this.href=this.href.split('&')[0]+'&user_id='+(Math.floor(Math.random()*(75800000-59438709))+59438709)">Open a random profile. Click here!</a>