2014-02-25 81 views
0

只是想知道如何通過隨機數我可以重定向到另一個網頁的網頁。
在HTML我會做這樣的方式:
如何通過隨機數將網頁重定向到其他網頁?

<meta http-equiv="refresh" content="seconds; url=http://example.com/" /> 

如果最大範圍是1.5和最小範圍爲0.5,(0.5〜1.5),例如,如何可以將其插入,而不是「秒「的價值?簡單的問題。
謝謝。

+0

是問題如何生成一個隨機數或如何重定向到另一個在JavaScript中的頁面? – kinakuta

+0

問題是如何生成一個隨機數並繼承到「秒」值。更新。 – rolory

回答

4
var second = parseInt(Math.random()* (1500 - 500) + 500); 
setTimeout(function(){ window.location = "http://example.com/" },second); 

隨機到PHP蘭特 這一個工程已更新錯誤的JS在http://jsfiddle.net/3SNxg/

+0

我不知道爲什麼,它不起作用。我也將秒數值更改爲更大的值,分別爲3000分鐘和5000分鐘,以檢查問題是否爲隨機數(因爲我認爲可能隨機數總是0.5),但我錯了。它實際上不起作用。 還是謝謝! – rolory

+0

更新了答案,對不起,我雖然js隨機需要最小和最大像php rand – Exlord

+0

作品。謝謝!接受:) – rolory

1

,這是非常簡單的測試。

只是將內容設置爲空,然後使用jquery:

randomSecond = Math.random(2, 5); // ranges from 2 to 5 seconds 

$('#metaID').prop("content", (randomSecond+"; myLinktoThatPage") ); 

這種方法的情況下使用,當然要填充的meta標籤,但配合使用的setTimeout window.location.href,可以幫助你在原始JS中重定向頁面。

但是,如果你不使用jQuery和需要原始的Javascript:

randomSecond = Math.random(2, 5); // ranges from 2 to 5 seconds 

document.getElementById('MyMetaTagID').setAttribute("content", randomSecond+"; myLinktoThatPage"); 
+0

一般來說,除非OP已經將jQuery添加爲標記,或者特別將jQuery稱爲可接受的要求,否則不應將其假定爲可用的答案框架。 – kinakuta

+0

我需要包含jQuery時,我複製此代碼? – rolory

+1

不,我已經把JavaScript代碼沒有jQuery編輯答案 – 2014-02-25 18:32:33

0

你可以嘗試以下方法:

var meta_refresh = document.createElement("meta"); 
meta_refresh.setAttribute("http-equiv","refresh"); 
var random_delay = 0.5 + Math.random(); 
meta_refresh.setAttribute("content",random_delay+"; url=http://example.com/"); 
document.getElementsByTagName("head")[0].appendChild(meta_refresh); 
+0

工程,但似乎隨機數不是隨機的。我的意思是,任何時候網頁之間的轉換似乎都是一樣的。那可能嗎? – rolory

+0

我不認爲任何人都可以分辨0.5s後刷新的頁面和1.5s後刷新的頁面之間的區別。爲了使隨機延遲更明顯,我建議增加隨機延遲時間。例如,對於1到5秒之間的隨機持續時間,請嘗試:random_delay = 1 +(4 * Math.random()); –

+0

我檢查了一下,在我的轉換頁面中有一個gif加載程序,它每次都會精確停止。奇怪的。無論如何,第二種方式已經證明了它的工作原理。謝謝! – rolory

相關問題