我很抱歉已经有一个类似的问题,但我想问得更广泛一些。
是否有任何方法可以在 Web 应用程序的客户端确定请求资源是否会返回 401 状态代码并导致浏览器显示丑陋的身份验证对话框?
或者,有没有什么办法可以在 401 状态代码的情况下在 flash 中加载一个 mp3 音频资源,而不是让浏览器显示一个丑陋的对话框?
如果我设置 URLRequest 对象的“authenticate”属性,Adobe Air 运行时将抑制身份验证,但此属性不在 Flash 运行时中。任何适用于客户端的解决方案都可以。 XMLHttpRequest 不太可能工作,因为所讨论的资源将位于不同的域。
不可见的失败很重要,因为应用程序将有一个列表,其中包含许多要尝试的音频资源,当有许多其他资源可用时,打扰用户尝试对一个资源进行身份验证是没有意义的。解决方案在客户端上运行很重要,因为有问题的 mp3 来 self 无法控制的各种服务器。
最佳答案
我在使用 Twitter API 时遇到了同样的问题 - 任何 protected 用户都需要客户端进行身份验证。
我能想出的唯一解决方案是在服务器端加载页面并返回 url 列表及其 http 响应代码。
关于javascript - 抑制浏览器的身份验证对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1149026/