是否有任何方法可以从内容脚本覆盖localStorage
和sessionStorage
对象的方法?我试图通过从我的Chrome扩展(在加载页面之前运行的内容脚本)执行此代码来禁止内联脚本清除存储。代码为:
// ==UserScript==
// @name StorageSaver
// @match http://barbars.org/*
// @grant none
// @run_at startup
// ==/UserScript==
/* jshint -W097 */
'use strict';
// Your code here...
location.href = "javascript: localStorage.clear = function(){alert('local works!');}";
location.href = "javascript: sessionStorage.clear = function(){alert('session works!');}";
啊,我相信你正在尝试执行
window.localStorage.clear = function() {};
在您的内容脚本中。您的内容脚本与页面的window
不同,因此无法正常工作。一个解决方法很简单:
location.href = "javascript: localStorage.clear = function(){}";
或者注入CCD_ 4标签。
这将在页面中执行,而不是在内容脚本的范围内执行。