chrome資料庫
① chrome 擴展開發中有沒有辦法把一些數據保存在本地
可以用chrome裡面 按照json保存。。或者存入資料庫中 。
json在chrome裡面有現成的解析保存方法。可以學習一下。
② chrome超過90天的歷史記錄
歷史記錄的提取
sqlite是一款基於磁碟的輕量級關系型資料庫管理系統,。瀏覽器中 Chrome、Firefox、Safari等常用瀏覽器均使用sqlite存儲及管理用戶的web訪問行為。
Chrome瀏覽器歷史記錄數據存儲在名為History的sqlite資料庫文件中。
資料庫表urls存儲用戶訪問的URL,
visits 存儲用戶每次web瀏覽的屬性,
keyword_search_terms 存儲用戶檢索過的關鍵字。
③ 谷歌瀏覽器本地資料庫在哪裡
1、以 Windows 7 為例,Chrome的數據存儲在」C:\Users\your-account-name\AppData\Local\Google\Chrome\User Data\Default\」下
2、Firefox 的數據存儲在」C:\Users\your-account-name\AppData\Local\Mozilla\Firefox\Profiles\」目錄下。
④ 請教chrome書簽同步的規則是什麼
本人親測
在未science(科學)shangwang情況下:刪除/添加
PC端:science(科學)shangwang後被刪除的還是會同步回來 被添加的會保留並同步到chrome資料庫
移動端:同理會與chrome同步資料庫作比較
當PC/移動端在已經science(科學)shangwang情況下:刪除/添加
這時候chrome會有幾分鍾同步延遲上傳到同步資料庫 也就是說幾分鍾過後你被刪除的書簽就被同步刪除了
純手打 新人求好心人採納 有不同意見望留言討論 且行且學習
⑤ google瀏覽器的歷史記錄保存在哪個文件下
打開Chrome瀏覽器。
在Chrome瀏覽器的地址欄輸入Chrome:Version可以查看Chrome瀏覽器的個人資料路徑。
在此路徑可以找到chrome的歷史紀錄文件夾C: DataDefaultCache
⑥ chrome插件如何把數據存在本地
(1)本地起一個服務位後端程序,當做保存數據的中間件;
(2)插件中的js里通過ajax調這個服務里的介面傳數據;
(3)本地後端服務保存數據到資料庫。
⑦ 在谷歌游覽器chrome中無法執行javaScript創建資料庫實例
ActiveXObject是微軟IE瀏覽器特有的對象.無任何兼容性.只能在IE中使用.放棄吧.
⑧ google login data 資料庫密碼是什麼加密
Chrome 密碼管理器的進入方式:右側扳手圖標→設置→顯示高級設置→密碼和表單→管理已保存的密碼。或者直接在地址欄中復制粘貼:chrome://chrome/settings/passwords,然後回車進入。
點擊密碼區域,顯示一個「顯示」按鈕,再點擊「顯示」按鈕,可看到密碼。如果其他人可以無阻礙使用你的電腦,那他就可以拿到你的這些已保存的密碼。
(本文配圖中的用戶名和密碼為測試所用)
已保存的密碼數據存儲在一個 SQLite 資料庫中,位置是:
[系統盤]:Documents and Settings[用戶名]Local SettingsApplication DataGoogleChromeUser DataDefaultLogin Data
(這個路徑是 Win XP 系統)
你可以用SQLite Database Browser 打開這個文件(文件名就是「Login Data」),查看「logins」表格,該表就包含了被保存的密碼。但你會看到「password_value」 域的值是不可讀,因為值已加密。
為了執行加密(在Windows操作系統上),Chrome使用了Windows提供的API,該API只允許用於加密密碼的Windows用戶賬戶去解密已加密的數據。所以基本上來說,你的主密碼就是你的Windows賬戶密碼。所以,只要你登錄了用自己的賬號Windows,Chrome就可以解密加密數據。
不過,因為你的Windows賬戶密碼是一個常量,並不是只有Chrome才能讀取「主密碼」,其他外部工具也能獲取加密數據,同樣也可以解密加密數據。比如使用NirSoft的免費工具ChromePass(NirSoft官方下載)
,就可以看得你已保存的密碼數據,並可以輕松導出為文本文件。
既然 ChromePass 可以讀取加密的密碼數據,那惡意軟體也能讀取的。當
ChromePass.exe被上傳至VirusTotal
時,超過半數的反病毒(AV)引擎會標記這一行為是危險級別。不過在這個例子中,這個工具是安全的。不過有點囧,微軟的Security Essentials並沒有把這一行為標記為危險。
假設你的電腦被盜,小偷重設了Windows賬號密碼。如果他們隨後嘗試在Chrome中查看你的密碼,或用ChromePass來查看,密碼數據都是不可用。原因很簡單,因為「主密碼」並不匹配,所以解密失敗。
此外,如果有人把那個SQLite資料庫文件復制走了,並嘗試在另外一台電腦上打開,ChromePass也將顯示空密碼,原因同上。
結論Chrome瀏覽器中已保存密碼的安全性,完全取決於用戶本身
。這里有些建議:
●使用一個極高強度的Windows賬號密碼。必須記住,有不少工具可以解密Windows賬號密碼。如果有人獲取了你的Windows賬號密碼,那他也就可以知道你在Chrome已保存的密碼。
●讓你自己遠離各種各樣的惡意軟體吧。如果工具可以輕易獲取你已保存的密碼,那惡意軟體和那些偽安全軟體同樣可以做到。如果非得下載軟體,請到軟體官方網站去下載。
●把密碼保存至密碼管理軟體中(比如:KeePass)。當然了,如此一來,瀏覽器就不能幫你自動填充密碼了。
●使用可以整合到Chrome中的第三方工具(比如:LastPass),使用主密碼來管理你的那些密碼。
●用工具(比如:TrueCrypt)完全加密整個硬碟。
●非私人電腦上,
一定不能讓瀏覽器保存密碼。
⑨ 如何導出chrome 裡面.localstorage的數據類似於資料庫的數據導入和導出。
LocalStorage Manager-Chrome
用這個插件
網頁鏈接
⑩ 如何設置chrome可以調用sqlite
通過HTML5的方式就可以,下面是示例代碼:
用HTML5
API來操作本地SQLite資料庫的例子:
HTML代碼:
1. <!DOCTYPE
html>
2. <head>
3. <meta
charset="UTF-8">
4. <title>使用HTML5本地資料庫DEMO</title>
5. <script type="text/javascript"
src="js/operateDB.js"></</script>
6. </head>
7.
8. <body
onload="init();">
9. <h1>使用HTML5本地資料庫DEMO</h1>
10. <table>
11.
<tr><td>姓名:</td><td><input
type="text"
id="name"></td></tr>
12.
<tr><td>資料:</td><td><input
type="text"
id="info"></td></tr>
13.
<tr>
14.
<td></td>
15.
<td><input
type="button" value="保存"
onclick="saveData();"></td>
16.
</tr>
17. </table>
18. <hr>
19. <table id="datatable"
border="1"></table>
20. <p
id="msg"></p>
21. </body>
javascript 封裝了許多方法,比如保存數據到資料庫,更新,同步下方的列表等。
1.
5.
6. //這個是下方的表格元素
7. var datatable = null;
8.
9. //創建一個資料庫對象
10. //4個參數分別是 資料庫名,版本號,資料庫的描述,資料庫大小
11. var db = openDatabase('MyData','','My
Database',102400);
12.
13. //init()方法,用於頁面下方表格元素的引用,並且顯示所有的資料庫記錄
14. function init(){
15.
//取得下方的表格元素,並且賦值給全局變數
16.
datatable = document.getElementByIdx_x("datatable");
17.
18.
//顯示所有已經在資料庫中存儲的記錄
19.
showAllData();
20. }
21.
22.
//removeAllData()方法,用於移除所有的表格中的當前顯示數據(它並不去除資料庫記錄)
23. function removeAllData(){
24.
//首先,它將<table>下面的所有子元素全部清除
25.
//所以,這里它對於datatable組件進行遍歷
26.
for(var
i=datatable.childNodes.length-1;i>=0;i--){
27.
datatable.removeChild(datatable.childNodes(i));
28.
}
29.
30.
//全部去除之後,現在需要顯示這個表頭部分<tr>裡面有多個<th>
31.
//創建表頭行到文檔樹中
32.
var tr= document_createElement_x('tr');
33.
//表頭行的第一個表頭
34.
var th1=document_createElement_x('th');
35.
//表頭行的第二個表頭
36.
var th2=document_createElement_x('th');
37.
//表頭行的第三個表頭
38.
var th3=document_createElement_x('th');
39.
//設置這3個表頭的文本
40.
th1.innerHTML="姓名";
41.
th2.innerHTML="資料";
42.
th3.innerHTML="時間";
43.
//將這些表頭依次放在表頭行中
44.
tr.a(th1);
45.
tr.a(th2);
46.
tr.a(th3);
47.
//將這個新創建的表頭行掛到表格中
48.
datatable.a(tr);
49. }
50.
51.
//構建指定資料庫行的數據對應的HTML文本。傳入參數:資料庫結果集中的某一行記錄
52. function showData(row){
53.
//構建一個錶行用於取得當前所要的信息
54.
var tr= document_createElement_x('tr');
55.
//創建第一列,這一列是姓名
56.
var td1=document_createElement_x('td');
57.
//填充第一列的信息為該行的name
58.
td1.innerHTML=row.name;
59.
//創建第二列,這一列是留言
60.
var td2=document_createElement_x('td');
61.
//填充第一列的信息為該行的message
62.
td2.innerHTML=row.info;
63.
//創建第三列,這一列是日期
64.
var td3=document_createElement_x('td');
65.
//創建一個日期對象
66.
var t = new Date();
67.
t.setTime(row.time);
68.
//將日期的標准形式和國際化日期形式分別設置給當前列
69.
td3.innerHTML=t.toLocaleString()+" "+t.toLocaleTimeString();
70.
//吧這三列掛到當前行中
71.
tr.a(td1);
72.
tr.a(td2);
73.
tr.a(td3);
74.
//讓這個表格在後面加上這一行
75.
datatable.a(tr);
76. }
77.
78. //這個函數用於顯示所有的行到表格中,這些行是從資料庫中拿出來的
79. function showAllData(){
80.
//開啟SQLite資料庫事務,它用一個回調函數作為參數表明要執行的語句
81.
db.transaction(function(tx){
82.
//首先它創建一個資料庫表,裡面有3個欄位
83.
tx.executeSql('CREATE TABLE IF NOT EXISTS InfoData(name TEXT,info
TEXT,time INTEGER)',[]);
84.
//創建一個查詢語句用來查詢資料庫表的所有記錄(這個由於是所有查詢,所以不需要預編譯語句和參數 (第二個參數))
85.
//然後定義了一個回調函數,表明對於結果集的處理
86.
tx.executeSql('SELECT * FROM InfoData',[],function(tx,rs){
87.
88.
//對於結果集,首先,在獲取它之前移除頁面上的<table>的所有數據
89.
removeAllData();
90.
//遍歷結果集,對於每一行,依次調用showData來在table上創建對於的html文本
91.
for(var i=0;i<rs.rows.length;i++){
92.
//對於item(i),也就是某一行記錄,我們顯示其內容到頁面的表格中(構建對應的HTML片斷)
93.
showData(rs.rows.item(i));
94.
}
95.
});
96.
}
97.
98.
);
99. }
100.
101.
//這個函數用於添加一條記錄到資料庫中,這些信息有些是從頁面獲得的,有些是系統生成的。
102. function addData(name,info,time){
103.
//開啟一個資料庫事務
104.
//回調函數是一個有參數的插入語句,可以看到我們插入到表InfoData中,插入的內容也就是參數傳遞進來的內容
105.
db.transaction(function(tx){
106.
107.
//插入的語句是個模板語句
108.
//插入成功的回調就是在控制台上輸入一行日誌
109.
tx.executeSql('INSERT INTO InfoData VALUES(?,?,?)' ,
[name,info,time],function(tx,rs){
110.
console.log("成功保存數據!");
111.
},
112.
//插入失敗的回調就是在控制台上輸入一行錯誤日誌
113.
function(tx,error){
114.
console.log(error.source+"::"+error.message);
115.
});
116.
}
117.
118.
);
119. }
120.
121. //保存用戶的當前輸入,這個是作為點擊頁面上」保存「按鈕的事件處理函數
122. function saveData(){
123.
//從HTML頁面中取得2個輸入框的文本
124.
var name=document.getElementByIdx_x('name').value;
125.
var info=document.getElementByIdx_x('info').value;
126.
//得到當前的系統時間 www.2cto.com
127.
var time= new Date().getTime();
128.
//將用戶名,用戶信息,當前時間存到資料庫中
129.
addData(name,info,time);
130.
//更新下方<p id="msg">的表格顯示
131.
showAllData();
132. }