2017-03-18 46 views
0

我在GitHub页面上制作一个简单的网站。我在/ docs文件夹中有一个文本文件(我可以移动),我想通过index.html更改它的内容。我发现了很多后端解决方案,但GitHub页面只允许静态网页。有没有办法在静态网页中这样做,如果是的话如何在JavaScript中做到这一点?静态网页更改文件

+0

考虑使用AJAX /前端框架,做这样的事情,在基于静态文件(推荐格式:'json')可以相应地操纵页面 –

回答

0

由于它是静态页面,因此无法从前端客户端重写托管文件。要更新文本文件的内容,则需要通过GitHub的接口来做到这一点,或者提交到你的仓库不幸

0

更改服务器上的内容需要在服务器上运行的代码。

如果你可以用客户端代码来做到这一点,那么每个网站都会很快变坏。

最接近的做法是将数据存储在客户端(例如,通过localstorage),然后在页面上有一个脚本读取该数据并在本地编辑DOM。显然,更改数据只会改变特定的浏览器,而不是所有的访问者。

0

有两种回答您的问题:

  1. 从技术上讲,它可以从一个脚本在GitHub上更改的文件:

    GitHub的API允许你通过一个HTTP请求更新文件。

    您可以使用Javascript来修改文件的内容,然后发送请求到GitHub的API来更新该文件。有几个库使得使用API​​非常容易,但是从这里你必须自己弄清楚。

    下面是该文档:https://developer.github.com/v3/repos/contents/#update-a-file

  2. 从概念上讲,这听起来像你正在做的事情是错误的。静态网页被称为静态,因为没有任何变化。如果你想拥有动态内容,你应该看看其他解决方案。

+0

这的确是一个小项目,所以我更喜欢托管它在GitHub上 –

+0

然后试试看。您需要解决的一个问题是如何通过API允许更改您的存储库,因为我不确定您是否可以在不进行身份验证的情况下更改文件。我们使用个人访问令牌从我们的服务器修改文件,但您并不想与任何人分享。您可以通过GitHub设置身份验证并使用用户的OAuth令牌,但他们需要拥有GitHub帐户。 – jdno