【发布时间】:2011-11-19 05:36:53
【问题描述】:
我正在尝试构建一个 html 文件来监控远程站点上的某些内容 - 特别是 github.com。我希望能够将它保留在那个平面文件中,使请求直接从 JS 发送到 github 的 API。我的思考过程是这样的:
- 让我们使用 jsonp,因为我只需要读取权限,所以坚持使用 GET 应该没问题。
- 好的,我将使用 Github 的 OAuth 代替基本身份验证!
- 失败是因为浏览器不喜欢我重定向到本地资源:
Not allowed to load local resource: file:///Users/...出于可以理解的安全原因。
- 失败是因为浏览器不喜欢我重定向到本地资源:
- 好的,我将在 iFrame 中加载 Github 的 oauth,然后获取结果 url(其中应该包含我需要的 oauth 代码)。
- 这失败了,因为如果子 iframe 在另一个域中,您显然无法访问任何有关子 iframe 的内容,因此除非我重定向回 file:///whatever,否则我无法获得最终 url。而且,当然,由于“不允许再次加载本地资源”,我无法重定向到 file:///whatever。
- 好的,我将使用跨域资源共享(再次回到基本身份验证)!
- 失败,因为来自 file:/// url 的 CORS 将原始标头发送为 null,which servers won't accept
那么,关于如何从单个本地 html 文件成功验证此 api 的任何建议 - 作为绕过上述技巧的一种方式,或完全是另一个想法?
【问题讨论】:
标签: javascript ajax cross-domain jsonp github-api