js中event.timeStamp的用法

本文详细解释了event.timeStamp属性的含义及其应用场景。该属性返回毫秒时间戳,表示从页面加载到触发事件所经过的时间。对于理解用户交互的时间线特别有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

event.timeStamp返回的是一个毫秒时间戳,表示用户上一次刷新至该用户触发的时间。
具体代码如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20181103205404603.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMTQzOTAy,size_16,color_FFFFFF,t_70)
// 创建数据库和对象存储(store) function openDatabase(dbName, callback) { const request = indexedDB.open(dbName, 1); // 开启或创建数据库,版本号为1 request.onupgradeneeded = function (event) { const db = event.target.result; if (!db.objectStoreNames.contains("mFiles")) { db.createObjectStore("mFiles", { keyPath: "filename" }); } if (!db.objectStoreNames.contains("images")) { db.createObjectStore("images", { keyPath: "filename" }); } }; request.onsuccess = function (event) { const db = event.target.result; callback(db); }; request.onerror = function (event) { console.error("IndexedDB 错误: ", event.target.error); }; } // 存储文件到 IndexedDB function storeFileInIndexedDB(filename, fileData, dbName = "myCacheDB", callback) { openDatabase(dbName, function (db) { const transaction = db.transaction(['mFiles', 'images'], 'readwrite'); const mFilesStore = transaction.objectStore('mFiles'); const imagesStore = transaction.objectStore('images'); let store; if (filename.endsWith('.m')) { store = mFilesStore; } else if (filename.match(/\.(jpg|jpeg|png|gif)$/i)) { store = imagesStore; } if (store) { store.put({ filename: filename, content: fileData, timestamp: Date.now() }); transaction.oncomplete = function () { console.log("文件已成功存储到 IndexedDB"); if (callback) callback(true); }; transaction.onerror = function (event) { console.error("IndexedDB 错误: ", event.target.error); if (callback) callback(false); }; } }); } // 从 IndexedDB 获取文件 function getFileFromIndexedDB(filename, dbName = "myCacheDB", callback) { openDatabase(dbName, function (db) { const transaction = db.transaction(['mFiles', 'images'], 'readonly'); const mFilesStore = transaction.objectStore('mFiles'); const imagesStore = transaction.objectStore('images'); let fileRequest; if (filename.endsWith('.m')) { fileRequest = mFilesStore.get(filename); } else if (filename.match(/\.(jpg|jpeg|png|gif)$/i)) { fileRequest = imagesStore.get(filename); } fileRequest.onsuccess = function (event) { let file = event.target.result; if (file) { console.log("文件读取成功:", file.filename); callback(file.content); } else { console.log("未找到该文件"); callback(null); } }; fileRequest.onerror = function (event) { console.error("获取文件失败:", event.target.error); callback(null); }; }); } // 清理过期缓存 function cleanUpCache(dbName = "myCacheDB", expirationTime = 30 * 24 * 60 * 60 * 1000) { openDatabase(dbName, function (db) { const transaction = db.transaction(['mFiles', 'images'], 'readwrite'); const mFilesStore = transaction.objectStore('mFiles'); const imagesStore = transaction.objectStore('images'); let currentTime = Date.now(); let mFilesRequest = mFilesStore.getAll(); mFilesRequest.onsuccess = function (event) { let mFiles = event.target.result; mFiles.forEach(file => { if (currentTime - file.timestamp > expirationTime) { mFilesStore.delete(file.filename); console.log("删除过期的 .m 文件: " + file.filename); } }); }; let imagesRequest = imagesStore.getAll(); imagesRequest.onsuccess = function (event) { let images = event.target.result; images.forEach(image => { if (currentTime - image.timestamp > expirationTime) { imagesStore.delete(image.filename); console.log("删除过期的图片: " + image.filename); } }); }; transaction.oncomplete = function () { console.log("缓存清理完成"); }; }); } // 定期清理缓存 (每30天) setInterval(() => { cleanUpCache(); }, 30 * 24 * 60 * 60 * 1000); 代码是否有错误
05-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值