在console中复制以下代码,刷新页面,查看【hook】打印内容,或者油猴插件脚本写入监听
(function() {
if (typeof window === 'undefined') return;
const original = {
setItem: localStorage.setItem,
getItem: localStorage.getItem,
removeItem: localStorage.removeItem,
clear: localStorage.clear
};
localStorage.setItem = function(key, value) {
console.log(`[Hook] localStorage.setItem("${key}", "${value}")`);
return original.setItem.call(this, key, value);
};
localStorage.getItem = function(key) {
const value = original.getItem.call(this, key);
console.log(`[Hook] localStorage.getItem("${key}") => "${value}"`);
return value;
};
localStorage.removeItem = function(key) {
console.log(`[Hook] localStorage.removeItem("${key}")`);
return original.removeItem.call(this, key);
};
localStorage.clear = function() {
console.log('[Hook] localStorage.clear()');
return original.clear.call(this);
};
// 监听跨页面变化
window.addEventListener('storage', function(e) {
console.log('[Hook] 跨页面storage事件:', {
key: e.key,
oldValue: e.oldValue,
newValue: e.newValue,
url: e.url
});
});
})();