2017-03-18 49 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