iT邦幫忙

0

JS 禁回上一頁

setTimeout("fn_forward()",1);
	function fn_forward() {
		history.forward();
		setTimeout("fn_forward()",1);
	}
    window.history.go(1);

參考網址https://note.artchiu.org/2011/07/14/asp%E3%80%81php-%E7%A6%81%E6%AD%A2%E8%BF%94%E5%9B%9E%E4%B8%8A%E9%A0%81%E8%88%87%E9%87%8D%E6%96%B0%E6%95%B4%E7%90%86/
在網路上找到這個程式碼,想請問function fn_forward()內放入的fn_forward() 是什麼意思呢?謝謝

這應該是放在禁止回上頁的地方
然後按回上頁的時候會直接往下一頁跳吧
怕user快按直接跳到沒下一頁為止
history.forward(); 無值的時候就是當前頁面,如果回上一頁就會變成 1
然後BODY ONLOAD 就會觸發 window.history.go 就又回到當前頁面
而且基本上用這兩個都是會傳遞表單所有值,所以表單上的值不會被清零

1 個回答

4
小魚
iT邦大師 1 級 ‧ 2020-01-07 14:56:57

fn_forward 不就是函式名稱嗎?

setTimeout("fn_forward()",1);
function fn_forward() {
history.forward();
setTimeout("fn_forward()",1);
}
window.history.go(1);

Timer一直呼叫這個函式.
setTimeout是JavaScript的一種Timer.

看更多先前的回應...收起先前的回應...
豬豬人 iT邦新手 5 級 ‧ 2020-01-07 15:11:35 檢舉

fn_forward() 一直呼叫自己嗎?
不是很懂為何要寫fn_forward()這一段?

小魚 iT邦大師 1 級 ‧ 2020-01-07 15:44:07 檢舉

是 setTimeout 去呼叫 fn_forward,
才能夠一直執行這個function.
不過時間設定1毫秒,
表示一秒要跑1000次,
這個Loading應該不輕吧??

fillano iT邦超人 1 級 ‧ 2020-01-07 15:47:39 檢舉

這樣就會每千分之一秒跑一次fn_forward,fn_forward裡面會跑history.forward(),所以用戶很難回到上一頁。

...啊,小魚已經回了XD

豬豬人 iT邦新手 5 級 ‧ 2020-01-07 16:10:20 檢舉

感謝樓上兩位大大

豬豬人記得給最佳解唷/images/emoticon/emoticon12.gif

小魚 iT邦大師 1 級 ‧ 2020-01-07 17:03:09 檢舉

其實瀏覽器, 不是可以選擇要回到哪一頁嗎?

我要發表回答

立即登入回答