从本地文件://的跨源GET

Fis*_*ter 5 javascript ajax jsonp cross-domain github-api

我正在尝试构建一个html文件来监视远程站点(尤其是github.com)上的某些内容。我希望能够将其保存到该平面文件中,从而将请求直接从JS发送到github的API。我的思考过程如下:

  1. 让我们使用jsonp,因为我只需要读取访问权限,所以坚持使用GET应该没问题。
  2. 好的,我将使用Github的OAuth代替基本身份验证!
    • 失败是因为浏览器不喜欢我重定向到本地资源:Not allowed to load local resource: file:///Users/...出于可理解的安全原因。
  3. 好的,我将Github的oauth加载到iFrame中,然后获取结果url(其中应包含我需要的oauth代码)。
    • 之所以失败,是因为您显然无法访问有关子iframe的任何内容(如果它在另一个域中),因此,除非我重定向回file:/// whatever,否则我将无法获得最终网址。而且,由于``不允许再次加载本地资源'',我当然无法重定向到file:///。
  4. 好的,我将使用跨域资源共享(再次回到基本身份验证)!

因此,关于如何通过单个本地html文件成功验证此api的任何建议-可以解决上述问题,也可以完全解决吗?

Esa*_*ija 1

如果您使用的是谷歌浏览器,您可以尝试使用以下命令运行它

--allow-file-access-from-files

开关启用。