2010-02-03 104 views
7

如何使用JavaScript或Java清除瀏覽器(IE,Firefox,Opera,Chrome)的歷史記錄,但將其從瀏覽器本身清除?如何使用JavaScript或Java除瀏覽器本身之外的瀏覽器(IE,Firefox,Opera,Chrome)歷史記錄?

+3

人,那會是惱人,如果這是可能的!? – 2010-02-03 09:20:01

+0

爲什麼你需要能夠做到這一點? – animuson 2010-02-03 09:21:27

+0

「如何清除瀏覽器歷史記錄,除了從瀏覽器本身清除它?」你可以說得更詳細點嗎? – rahul 2010-02-03 09:21:37

回答

12

腳本通常無法訪問瀏覽器中的document.location數據,因爲允許訪問將使給定站點訪問整個瀏覽歷史記錄。最多你可以做一些簡單的操作,比如「進入歷史記錄條目#37」或「返回一頁」。但是你不能做「歷史記錄#23中的頁面地址是什麼」。

大多數銀行網站將使用JavaScript鏈接來阻止構建點擊記錄。他們將執行document.location.replace「來終止最後一個歷史記錄(當前頁面)並將其替換爲新頁面的地址,它實際上刪除了」返回「選項以返回頁面,因爲之前頁面(只要瀏覽歷史而言)現在是新的一頁。

2

簡而言之,這是不可能的,沙箱防止瀏覽器和它們運行的​​腳本/小程序修改甚至創建除少數幾個小例外的任何文件。允許JavaScript和Java小程序清除緩存中的其他網站Cookie或網站內容不是理想的。

+0

但我確定某個銀行網站是可能的。然後他們是如何做到的。 – Yogi 2010-02-03 09:53:50

1

有沒有辦法,一個瀏覽器可以讓你清除緩存。這將是一個巨大的安全問題,如果這是可能的

什麼你可以做的是告訴它不要緩存您的網頁,通過發送適當的報頭或使用這些元標籤:

<meta http-equiv='cache-control' content='no-cache'> 
<meta http-equiv='expires' content='0'> 
<meta http-equiv='pragma' content='no-cache'> 

我想指出,如果喲您正在使用您應該使用SSL的敏感數據。如果您不使用SSL,任何有權訪問網絡的人都可以嗅探網絡流量,並輕鬆查看您的用戶所看到的內容。

使用SSL也會使一些瀏覽器不使用緩存,除非明確告知。看到這個問題。 Will web browsers cache content over https

0

但是,如果你想清除實際上可以頁面,您可以使用:

$(function() { 
 
//replace() does not keep the originating page in the session history, 
 
document.location.replace("/Exercises#nocache"); // clear the last entry in the history and redirect to new url 
 
});
這是由一些銀行雙方

相關問題