2015-10-20 50 views
0

当我使用谷歌浏览器访问我的网站时,Chrome显示(在“Cookies和网站数据”中)它使用的是LocalStorage和IndexedDB。我不是故意这样做的,我想知道为什么这些出现在列表中。我如何知道我的网站为什么使用LocalStorage和IndexedDb)?

该网站确实使用了一些第三方的东西,特别是(可能)谷歌通用分析和谷歌标签管理器,但我检查了这两个JS源代码(包括动态下载的文件),以及可能找不到对LocalStorage或IndexedDB的明显引用(尽管读取缩小的代码并不容易)。

有什么方法可以告诉使用这些功能的是什么?

FWIW它是一个ASP.NET MVC5网站,但我怀疑这是相关的。

+0

在chrome开发工具的资源选项卡中显示什么内容? – Wobbles

+0

@Wobbles:我没有看,但没有:没有显示实际值... –

+0

也许这只是谷歌浏览器的缓存文件的解释呢? – Wobbles

回答

1

如果您没有特定的代码,那么第三方分析/广告可能是罪魁祸首。这是我想尝试:

  1. 使用chrome://settings/cookies和删除存储为您的网站
  2. 识别页面中您的网站,使数据被写入
  3. 修改的页面有一个内嵌脚本在加载任何其他脚本之前,用虚拟函数填充存储API:

    window.indexedDB.open = function(){ throw Error('Indexed DB'); }; window.localStorage.setItem = function(){ throw Error('DOM Storage'); };
  4. 重新加载打开开发者控制台的页面。如果幸运的话,你会看到堆栈跟踪引发的异常,指向试图使用这些函数的代码。

  5. 如果不是,请将这些throw行更改为debugger;以调用调试器,然后重新加载页面。调试器中的调用堆栈应该显示哪些库正在使用存储API。
+0

所有伟大的想法,谢谢! –

相关问题