最近,我在访问Next Soundcloud时遇到了问题。无论我尝试哪个网址,都会出现一般错误页面,告诉我出了什么问题并推荐现代浏览器。
浏览器控制台说应用程序在访问window.localStorage
时失败:
TypeError: localStorage is null
事实上,我在 Firefox 配置中dom.storage
全局禁用。可能还有其他用户正在使用现代浏览器,但dom.storage
禁用,因此可能会对这个通用错误页面感到孤独。
我希望有一个警报框之类的东西,通知用户缺少对该特定功能的支持。尝试在禁用/启用dom.storage
的情况下进行此小提琴。我认为,它在几分钟内实现,但使用户体验更好。
那么,是否已经为Soundcloud计划了某种特定的错误页面?
通过阅读您的问题,我并不完全清楚您是否要检查localStorage
支持,或者是否要检查是否有人在 Firefox 中启用/禁用了dom.storage
设置。
检查本地存储支持相当容易:
function hasLocalStorage() {
return window.localStorage && !!window.localStorage.getItem
}
Modernizr 是一个相当流行的库,其中包含一堆测试和一些 polyfill。
至于检查dom.storage
,不,那永远是不可能的。如果网站能够从浏览器读取设置,这将是一个严重的安全/隐私问题。在过去的几年里,浏览器已经转向向服务器提供更少的信息,而不是更多的信息。
例如,请参阅此页面。
您能做的最好的事情是检查 localStorage 支持,如果不可用,请显示一个帮助页面,其中包含所有浏览器的说明。