javascript - Soundcloud:检测缺少的 localStorage 支持并通知用户

标签 javascript html local-storage soundcloud browser-feature-detection

最近,我在访问 Next Soundcloud 时遇到了问题。无论我尝试哪个网址,都会出现一般错误页面,告诉我出了问题并推荐现代浏览器。

浏览器控制台显示应用程序在访问window.localStorage时失败:

TypeError: localStorage is null

确实,我在 Firefox 配置中全局禁用了 dom.storage。可能还有其他用户正在使用现代浏览器,但禁用了 dom.storage,因此可能会觉得独自一人面对这个通用错误页面。

我希望有一个警告框之类的东西,可以通知用户缺少对特定功能的支持。试试this fiddle禁用/启用 dom.storage 。它在几分钟内就实现了,但我认为它使用户体验变得更好。

那么,是否已经为 Soundcloud 计划了某种特定的错误页面?

最佳答案

通过阅读您的问题,我并不完全清楚您是否想检查 localStorage 支持,或者特异性检查某人是否启用了 dom.storage 设置/在 Firefox 中禁用。

检查 localStorage 支持相当简单:

function hasLocalStorage() {
    return window.localStorage && !!window.localStorage.getItem
}

Modernizr是一个相当流行的库,其中包含大量测试和一些填充。

至于检查dom.storage,不,那永远不可能。如果网站能够从浏览器读取设置,这将是一个严重的安全/隐私问题。过去几年,浏览器已转向向服务器提供更少信息,而不是更多。
请参阅this page例如。

您能做的最好的事情就是检查 localStorage 支持,如果不可用,请显示一个帮助页面,其中包含适用于所有浏览器的说明。

关于javascript - Soundcloud:检测缺少的 localStorage 支持并通知用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754317/

相关文章:

javascript - 收到类型错误 : "option is undefined" error message

javascript - 根据 4 个下拉选项显示特定内容

css - IE7 错误,其中文本在子 div 中被截断

javascript - 当我分离轨道时,twilio 视频代码留下视频标签

javascript - 遍历localStorage并整理出对应的变量

safari - 如何处理 Apple iOS Safari 私有(private)模式禁用 LocalStorage?

couchdb - 我可以使用 CouchDB mobile 作为 localStorage 的替代品吗?

javascript - 从sqlite数据库获取结果

javascript - 在 Javascript 中访问 Resx

javascript - Google map HTMLMarker(循环不同位置)