从 GitHub 读取代码作为网页中的文本(原始)

问题描述 投票:0回答:2

我正在尝试从我的 GitHub 存储库读取一些源代码(C 语言),以在我的网页中显示为文本。我可以通过 https://raw.github.com.

以原始模式访问代码。

我正在使用 jQuery GET 函数来读取数据,但它不起作用。问题与 XMLHttpRequest 和 Access-Control-Allow-Origin 有关,但是,尽管我在 stackoverflow 上发现了一些相关问题(XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin),但它对我不起作用。我什么都试过了。

我的 jQuery 代码:

<script type="text/javascript">
  $(document).ready(function() {
    var url = 'https://raw.github.com/raysan5/raylib/master/examples/ex01_basic_window.c';

    $.get(url, function(data) { 
        $('#code').text(data);
      }, 'text');
    });
</script>

请问有人可以帮我解决这个问题吗?非常感谢!

javascript jquery github xmlhttprequest
2个回答
6
投票

你可以尝试删除raw和github之间的点:

https://rawgithub.com/raysan5/raylib/master/examples/ex01_basic_window.c

参见rawgithub.com,也在这篇博客文章中进行了解释:

GitHub 不鼓励这样做,因为他们希望存储库所有者使用 Github Pages 来托管其文件的特定版本。他们通过使用

raw
而不是
Content-Type: text/plain
来提供来自“
Content-type:application/javascript
”域的文件来阻止这种行为。

直到最近,这才成为问题,当时 Google Chrome 实施了一项安全修复,如果 JavaScript 存在不正确的

Content-type
,则阻止 JavaScript 被执行。
当您查看超出您控制范围的页面时,这是有意义的。但是,当由您决定要包含哪些脚本时,这就很麻烦了。

Rob W下面的评论

值得一提的是,此 Web 服务解决 OP 问题的唯一原因是它包含

Access-Control-Allow-Origin: *
响应标头


0
投票

Rawgit 现已关闭。对不起!

© www.soinside.com 2019 - 2024. All rights reserved.