来自本地文件://的跨源GET请求

7
我正在尝试构建一个HTML文件,以监控远程站点上的一些内容,具体来说是github.com。我希望能够仅使用该平面文件,并直接从JS向github的API发出请求。我的思路如下:
  1. 既然我只需要读取权限,所以让我们使用jsonp,坚持使用GET应该没问题。
  2. 好吧,我将使用Github的OAuth而不是基本身份验证!
    • 这失败了,因为出于可理解的安全原因,浏览器不允许我重定向到本地资源:Not allowed to load local resource: file:///Users/...
  3. 好吧,我将在iFrame中加载Github的oauth,然后获取结果url(其中应包含我需要的oauth代码)。
    • 这失败了,因为如果它位于另一个域上,则显然无法访问有关子iframe的任何内容,因此除非我重定向回file:///whatever,否则无法获取最终url。当然,由于“不允许加载本地资源”问题,我无法重定向到file:///whatever。
  4. 好吧,我将使用跨源资源共享(再次返回基本身份验证)!

那么,有什么建议可以从单个本地HTML文件成功地进行身份验证到此API,无论是绕过上述策略的方法还是其他想法?

1个回答

1
如果您正在使用Google Chrome浏览器,可以尝试启用以下开关:--allow-file-access-from-files

1
我认为那不会有什么帮助 - 据我所知,它只是允许在file:///内部的源也在file:///时加载AJAX。 - Alnitak
@Alnitak,在您的计算机上运行Web服务器是一个选项吗?这是我唯一剩下的选择了 :( - Esailija
1
是的,在查看 Stack Overflow 后,运行 Web 服务器是最后的选择。 :) 关于这个答案,我认为还有一个 Chrome 选项可以仅允许跨域内容,尽管在正常使用时我不想开启它。 - Fishtoaster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接