2012-05-31 62 views
0

我在管理論壇,並且希望在我的網站中放入訪問隨機用戶個人資料頁面的鏈接。使用JavaScript正確地鏈接到包含隨機數的網址

假設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,其中包含一個新的隨機ID號碼,並與之前的隨機號碼並列。

我的意思是:在第一次,當我點擊鏈接,我訪問的URL mypage.com/#m=Profile & USER_ID =加上隨機數(如4542),但在第二次嘗試,我訪問URL mypage.com/#m=個人簡歷& user_id = 4542加上另一個隨機數字。

爲了避免再次點擊以獲得正確的鏈接之前刷新,我該怎麼辦?

在此先感謝和我的英語不好

回答

1

好對不起,您有/#attR1位& 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> 
+0

在&分裂正如@BrendanLong指出,已進行了修改,以給出正確的輸出。乾杯! – Playmaker

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> 

這將創建一個鏈接到hash'ed只是一部分,並始終追加正確的ID。

+0

是的,這是最好的,那麼只有需要更換的部件被更換。 – Hope4You

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> 
相關問題