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

时间:2013-11-23 11:21:09

标签: javascript jquery github xmlhttprequest

我正在尝试从我的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>

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

1 个答案:

答案 0 :(得分:3)

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

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

请参阅此rawgithub.com中解释的blog post

  

GitHub不鼓励这样做,因为他们希望回购所有者使用Github Pages来托管他们文件的特定版本。他们通过使用raw代替Content-Type: text/plain来提供“Content-type:application/javascript”域中的文件来阻止它。

     

直到最近,谷歌Chrome实施了一项安全修复程序,以防止JavaScript在Content-type不正确时被执行,这不是问题。   当您查看控件之外的页面时,这是有意义的。但是,当你决定要包含哪些脚本时,这是一件麻烦事。

作为Rob W comments below

  

值得一提的是,此网络服务解决OP问题的唯一原因是它包含Access-Control-Allow-Origin: *响应标题