好吧,我知道這聽起來很通用。但我的意思是在AJAX層面。我試過使用Firebug來跟蹤NET連接和帖子,這是一個謎。有誰知道他們如何不間斷地使用網絡/瀏覽器來實現即時自動保存?Google文檔如何自動保存工作?
7
A
回答
8
我的猜測(這只是一個猜測)是谷歌使用PUSH服務。這似乎是最可行的選擇,因爲他們的聊天客戶端(也集成在窗口中)也使用它來以最短的延遲傳送「實時」消息。
我敢打賭,他們有一個完整的設置,管理所有相關的連接併發送標誌來觸發特定元素。您不會看到連接三方,因爲初始頁面訪問建立連接,然後掛起頁面打開的整個持續時間。例如
- 您訪問
- 瀏覽器建立[例如] api.docs.google.com [/例]連接並保持打開
- 客戶端代碼然後發送頁面各種命令並收到各種答覆。
- 這些命令來回發送,直到您:
- 失去
- 瀏覽器窗口關閉在這種情況下,它是重新建立連接(超時等)
,如何看到,典型的通信:
SERVER: CLIENT:
------- -------
DOC_FETCH mydocument.doc
DOC_CONTENT mydocument.doc 15616 ...
DOC_AUTOSAVE mydocument.doc 24335 ...
IM collaboratorName Hi Joe!
IM_OK collaboratorName OK
AUTOSAVE_OK mydocument.doc OK
凡DOC_FETCH
命令說我想要數據。服務器回覆相應的DOC_CONTENT <docname> <length> <contents>
。然後客戶端觸發DOC_AUTOSAVE <docname> <length> <content>
。考慮到潛在的同時請求的數量,我敢打賭他們在請求/響應中保留了「上下文」,因此在發送一些請求/響應之後,它可以被匹配。在這個例子中,它知道IM_OK
匹配第二個請求(IM
),並且AUTOSAVE_OK
匹配第一個請求(AUTOSAVE
) - 類似於AOL的IM協議的工作原理。
再次,這只是一個猜測。
-
爲了證明這一點,使用像空靈,看看你能看到的信息在後臺傳輸。
+0
感謝@ Brad-Christie的回答,但是我不清楚如何實現它。 – 2016-02-24 13:09:49
相關問題
- 1. Ansible自動文檔如何工作?
- 2. 使用Google AppScript自動將數據保存到Google工作表
- 3. Google文檔樣式使用TinyMCE的自動保存
- 4. 保存到Drive API:自動轉換爲Google文檔格式
- 5. Google如何保存對Google文檔所做的更改?
- 6. 保存到Google Play雲自動保存
- 7. 如何以.pdf格式保存工作文檔在C#中
- 8. PolymerFire - 如何保存文檔?
- 9. 如何將Google Spread工作表數據導入Google文檔(Word文檔)
- 10. 如何自動更新已保存文檔中的字段
- 11. 如何打開自動保存的最後文檔
- 12. 如何在google腳本中onclick後自動顯示google文檔?
- 13. 如何使用Google App Engine自動化Google文檔?
- 14. Eclipse自動保存工作區
- 15. 可可NSDocument:讓自動保存工作
- 16. 自動保存特定的工作簿
- 17. 如何通過google apps腳本保存文檔?
- 18. 將文檔保存爲Google文檔中的docx
- 19. 如何使HTML文件自動保存?
- 20. 任何Notepad ++插件可自動保存文檔版本
- 21. 自動NDB緩存如何工作?
- 22. 自動更新存摺如何工作?
- 23. 如何保存工作mongoID
- 24. 如何保存來自Google的圖像
- 25. 將google文檔用作發佈工具
- 26. Mac OS X Lion 10.7中的自動保存如何工作?我怎樣才能改變自動保存頻率?
- 27. 保存word文檔時的自動文件名
- 28. Google表格 - 合併來自同一文檔的工作表
- 29. 如何與Android的Google文檔互動?
- 30. Google文檔如何存儲文檔(在後端)?
'window.setInterval'與AJAX和一些條件? – mauris 2011-05-25 14:36:28
不知道這是否正確 - 如果你看看控制檯,它似乎沒有做太多 – Shamoon 2011-05-25 16:29:58