簡體   English   中英

將對“ contentEditable”部分所做的更改保存回原始HTML文件

[英]Save changes made to “contentEditable” sections back to original HTML file

如何將對“ contentEditable”部分所做的更改保存回原始HTML文件。 這有可能嗎?

我需要創建一個包含用於用戶更改的部分的html文件。 我希望使用他們的Web瀏覽器,用戶能夠“保存”更改,以便實際上可以更新原始HTML文件。 該文件可能存儲在用戶的PC上,也可能最終托管在服務器上。 無論它在哪里,都需要將更改寫回到HTML文件。

編輯:也許更多細節會有所幫助。 我正在為I GM的所有RPG創建一個動態的字符表。 我曾經使用過文檔共享服務,但是HTML + javascript的交互式和動態性質提供了我所需要的更多信息。 設計文件非常容易。 我只希望玩家在Web瀏覽器中打開它(即使存儲在其桌面上),進行注釋和編輯,然后單擊“保存角色”按鈕,該按鈕會將他們更改的元素寫回到原始HTML文件中。 如果沒有可以想到的方法,那好吧,我只想提供一些確定的信息。

該文件位於服務器上的某個位置,瀏覽器從該服務器上檢索文件,之后您可以將contentEditable內容弄亂,因此要使更改傳播到原始文件,您至少需要兩件事:

  1. 具有contentEditable屬性的元素上的事件處理程序,以便您可以對其內容進行修改。
  2. 服務器上的一個API,可讓您告訴它用內容Y更新文件X

基本方法是:

  1. 在瀏覽器中從服務器加載HTML
  2. 單擊具有contentEditable屬性的元素,然后開始編輯
  3. 完成編輯,並啟動元素的javascript處理程序(有關操作方法,請參見https://stackoverflow.com/a/14043919/740553 )。
  4. 使用當前URL,到您剛剛更改的元素的路由,其新內容,然后將其發布到服務器。 這要求:
  5. 服務器正在運行一條接受路由,該路由在諸如..../changepage類的路由上偵聽POST數據(當然,不接受任何人的輸入),並且:
  6. 可以采用POSTed的文件名,元素路徑和內容字符串,打開該文件,查找有問題的元素,替換其內容,然后將其打包回到具有與以前相同的文件名的新文件中。

至少可以說,這是非常脆弱的,並且易於出錯和濫用。 有更好的方法可以執行此操作,並且幾乎所有方法都依賴於擁有內容服務器,並且頁面中加載了內容服務器中內容非常明確的可編輯元素的內容,因此顯示,編輯和保存內容的所有操作都會發生“一件事”,而不是需要根據元素路徑在.html文件中解析的元素。

或者,使事情變得更加輕松,使用React之類的工具幾乎可以立即完成大部分工作。 當然,盡管如此,您仍然需要編寫服務器以使其可以提供內容並接受修改請求。

對於您來說不幸的是,您想要做的事情實際上很難做到既安全又安全。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM