0

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

假设访问个人资料页面的 URL 格式是: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>

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

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

为了避免在再次单击以获取正确链接之前刷新,我应该怎么做?

提前感谢,对不起我的英语不好

4

3 回答 3

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。

于 2012-05-31T20:13:27.827 回答
1

好吧,你有/#attr1&attr2。

但是在 split 方法中,您在'?尝试使用

<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>
于 2012-05-31T20:08:47.207 回答
0

您可以在 & 处使用

<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>
于 2012-05-31T20:14:38.393 回答