﻿# 如何透過 JavaScript 取消 IE 的「回上一頁」功能

有時後我們會希望 User 在使用「登出」功能後，不要再讓他用 IE 的 **回上一頁** 按鈕功能，因為回上一頁其實也看不到東西 (因為已經登出了)，但確有可能導致網頁出現錯誤畫面或權限不足之類的錯誤，我今天就分享一個 JavaScript 開發技巧，讓你徹底消除 IE 的 URL 瀏覽紀錄。

我寫了一個簡單的 JavaScript function 如下，主要程式僅三行而已：

```javascript
function gotoUrl(url)
{
    // 取得歷史網址的長度
    var len = history.length;
    
    // 先回到 IE 啟動時的第一頁
    history.go(-len);

    // 再將網址轉向到目的頁面 ( 注意: 一定要用 location.replace 函式 )
    location.replace(url);

    return false;
}
```

只要透過這個 **gotoUrl** 函式進行轉址動作，User 的 IE 所有之前的歷史紀錄都會消失，不過這個技巧僅適用於 Internet Explorer 而已。

若要使用這個函式範例如下：

```xml
<a href="/logout.aspx" onclick="gotoUrl('/logout.aspx');">登出</a>
```

當你使用這個技巧連結到 /logout.aspx 網頁後，即可進行登出動作，並在 logout.aspx 程式直接利用 [Response.Redirect](http://msdn.microsoft.com/zh-tw/library/t9dwyts4.aspx) 轉址回首頁，這樣你就會發現回首頁之後所有歷史紀錄都消失了，就好像沒登入過一樣！^\_^
