2012-06-04 232 views
-2
document.addEventListener('DOMContentLoaded', function() { 
    displayRecentUrls("recentUrls"); 
}); 

function displayRecentUrls(divName) { 
    var popup = document.getElementById(divName); 
    var ul = document.createElement("ul"); 
    popup.appendChild(ul); 
    var microsecondsPerWeek = 1000 * 60 * 60 * 24 * 7; 
    var oneWeekAgo = (new Date).getTime() - microsecondsPerWeek; 
    history.search({ 
     'text': '',    
     'startTime': oneWeekAgo 
    }, 
    function(historyItems) { 
     for (var i = 0; i < historyItems.length; ++i) { 
     var url = historyItems[i].url; 
     var li = document.createElement("li"); 
     ul.appendChild(li); 
     var a = document.createElement("a"); 
     a.href = url; 
     a.appendChild(document.createTextNode(url)); 
     li.appendChild(a); 
     } 

    }); 
} 

我寫了上面的代碼來生成一週的瀏覽記錄。這是行不通的。我是Javascript新手,所以我可能犯了一個愚蠢的錯誤。Javascript歷史記錄無效

+0

您能否提供更多信息?你是否收到任何錯誤?有沒有輸出?您可以使用Chrome中的Web開發者控制檯或Firefox中的Firebug檢查錯誤。 – Hacknightly

+0

這個愚蠢的錯誤並沒有更詳細地描述這個問題。 – 2012-06-04 19:19:11

+0

「歷史」對象沒有「搜索」方法。 – sachleen

回答

1

據我所知,您無法獲取瀏覽器歷史記錄。但是,您可以執行的操作是查看用戶是否訪問過某些URL。這是example

如果您只想返回一頁,document.referrer會爲您提供用戶來自的頁面。

+0

以及我的目標是抓住我自己的瀏覽歷史記錄,並分析我去某​​些網站的頻率。 –

+0

+1,這個鏈接有趣的策略,但我不認爲它適用於大多數現代瀏覽器。 (鉻/ IE模擬一路下降到怪癖模式IE7不改變風格,除非通過該頁面點擊鏈接) – Snuffleupagus

+0

@TerryLiYifeng你將無法使用JS做到這一點。你會想爲你的瀏覽器編寫一個插件。有相當多的Chrome擴展可以完成這項工作,例如[這一個](https://chrome.google.com/webstore/detail/ejifodhjoeeenihgfpjijjmpomaphmah?hl=en)。 – sachleen