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. }