用例是在瀏覽器或電子郵件客戶端查看HTML文檔中引用圖像URL(例如< img src = ... >),並讓圖像反映當前狀態服務器。該圖像將由後端動態計算和創建,例如,一個小服務程序,定期例如,每一分鐘。它有點像視頻源,但幀速率很差(每分鐘一幀)。 ;)將任何圖像流式傳輸到HTML客戶端?
我想至少有兩個關鍵的假設必須滿足在這裏:
後端產生的圖像必須能夠發送圖像的初始版本,則後續版本的圖像,例如在計算髮送睡眠循環中,客戶端沒有關閉連接。後端將保持打開客戶端的HTTP連接並保持發送新版本,直到客戶端關閉連接,例如因爲它不再顯示文檔。
提取圖像的客戶端會檢測到後端不斷髮送新版本的圖像並重繪它。我不確定服務器是否可以明確地向客戶端發送信號,例如設置一個保持活動的響應頭文件或類似的東西 - 或者甚至不需要讓服務器保持連接打開狀態。
這些假設是否合理?對於後端,我將使用servlet作爲概念驗證,而前端將是Firefox等瀏覽器和Thunderbird等電子郵件客戶端。
我不太確定服務器如何向客戶端表明以前的映像已過時並可以丟棄,並且應該接收並重新繪製新映像,但這可能僅僅是刷新和重新發送新數據的問題?任何指針都將不勝感激。
使用類似GIF動畫的東西將無法正常工作,因爲我無法提前知道圖像會是什麼。換句話說,我無法預先計算圖像序列併發送一次。
所以,你想編輯收件人的電子郵件,他們收到後,通過改變一個熱鏈接的圖像的內容?我從來沒有聽說過這種技術被使用。我建議只給他們一個鏈接,他們可以看到那裏的統計數據,這些數據應該以HTML格式呈現。 – Ermir
@Ermir,HTML文檔本身(例如電子郵件,網頁)並未被編輯/更改,但HTML中引用的圖像可能會不斷變化(如動畫GIF,除非它不是靜態數據,而是動態)。 HTML文檔和引用的圖像將是兩個不同的URL。但是,是的,用戶會看到的將以某種方式「編輯」,即當圖像改變時會改變。我試圖解決的問題是避免刷新文檔(例如頁面/電子郵件)以獲取當前圖像。 -Kaare – kaared
如果您希望內容在不刷新的情況下更改,您需要使用Javascript,並且由於HTML電子郵件中沒有Javascript,因此您嘗試執行的操作不起作用。 – Ermir