修復程式碼文件編輯工作階段在 10 分鐘後斷開連線的問題
檢查 WebSocket 逾時、代理規則、入口設定和 CODE 日誌,排查 Collabora Online CODE 會話在大約 10 分鐘後斷開連線的問題。
簡答:在 CODE 中,可透過「緊湊」或「選項卡式」視圖設定來變更工具列的整體樣式。要隱藏某個筆記本標籤或命令,支援的方法是使用 WOPI 主機的 PostMessage API;檢視器的常規選單無法永久移除所有使用者的單一命令。管理員可以為伺服器設定預設介面模式,而嵌入 CODE 的主機可以傳送會話層級的隱藏或顯示訊息。
選擇與您的存取權限相符的方法。如果您只需要更多文件空間,請折疊工具列或切換到緊湊視圖。如果您的 WOPI 整合需要省略「幫助」標籤或格式設定命令,請在編輯器準備好後發送相應的 PostMessage。如果您的目標是封鎖列印、下載或編輯等操作,也請使用相關的 WOPI 功能或權限;隱藏按鈕會改變顯示方式,但不會改變授權方式。
| 你想改變什麼 | 使用此方法 | 它的影響 |
|---|---|---|
| 預設使用簡潔選單或選項卡式筆記本欄 | user_interface.mode在伺服器配置中設定 | 該 CODE 部署的預設介面模式 |
| 暫時為文件騰出更多空間 | 從使用者介面折疊筆記本欄,或發送Collapse_Notebookbar | 隱藏標籤按鈕;使用者可以再次展開它們。 |
| 隱藏筆記本欄選項卡,例如「幫助」。 | 傳送Hide_NotebookTab | WOPI嵌入式編輯器會話中的一個標籤頁 |
| 隱藏編輯器介面中的一個命令 | 傳送Hide_Command | 該指令的選單、工具列和上下文選單項 |
| 僅隱藏特定的工具列按鈕 | Hide_Button使用按鈕 ID傳送 | 一個工具列按鈕;其 ID 可能會因 UI 和版本而異。 |
相關 SDK 手冊指出,Hide_NotebookTab該功能從 24.04.11.1 和Hide_Command24.04.11.2 版本開始可用。 CODE 發布套件和整合器建置版本可能有所不同,因此在依賴 API 訊息之前,請檢查您實際執行的伺服器版本。
緊湊視圖使用選單和較小的工具列。選項卡式檢視將控制項分組到筆記本列標籤中。伺服器設定是user_interface.mode,支援的值是compact和tabbed。諸如classic和之類的舊標籤notebookbar已被棄用,請使用這些名稱。

若要設定管理員控制的預設值,請編輯以下部分<mode>中的現有條目:<user_interface>coolwsd.xml
<user_interface>
<mode type="string" desc="Controls the user interface style. The 'default' means: Take the value from ui_defaults, or decide for one of compact or tabbed (default|compact|tabbed)" default="default">tabbed</mode>
</user_interface>
請使用此選項compact代替tabbed緊湊選單。在實際的設定檔中,請修改現有的模式條目,而不是新增第二個條目。具體的配置路徑和重啟步驟取決於 CODE 是以軟體包、容器還是透過其他平台安裝的。請遵循該部署的配置方法,根據需要重新啟動或重新載入服務,並開啟一個新的文件會話以確認預設設定。
此設定會啟用預設介面模式,但不會隱藏任何特定命令。使用者或整合商可能已儲存介面偏好設置,這些設定會優先生效,具體取決於伺服器的已儲存 UI 狀態配置。如果某個瀏覽器始終以不同的視圖重新打開,請先測試一個全新的會話,並檢查整合商的使用者偏好設定行為,然後再變更更多伺服器設定。
如果目的只是為了增加文件空間,通常折疊選項卡式筆記本欄就足夠了。 SDK 的Collapse_Notebookbar訊息會隱藏筆記本列按鈕;選項卡名稱仍然可見,使用者可以再次展開控制項。同樣的訊息也會在緊湊視圖中隱藏按鈕條。這是一個可逆的顯示更改,並非禁用編輯功能。

在支援的介面中,使用者還可以透過與選項卡條互動來折疊或展開筆記本欄。具體的單擊或雙擊操作可能會因視圖和版本而異。如果使用者需要恢復折疊的筆記本欄,請保持選項卡名稱可見,並在他們使用的相同程式碼版本中測試該操作。
會話級隱藏需要一個宿主應用程序,該應用程式將代碼嵌入到 iframe 中並能夠向其發送訊息。它不是可以貼上到任何設定檔中的通用設定coolwsd.xml。 PostMessage API 使用包含 `<username>` MessageId、時間戳記和選用參數的訊息Values。 WOPI 宿主必須先完成就緒交換,然後才能發送編輯器指令。請為宿主頁面配置 WOPI PostMessageOrigin,並使用代碼 iframe 的確切來源作為瀏覽器訊息目標;請勿使用萬用字元目標來源。
主機收到對應的App_LoadingStatus就緒事件並傳送訊息後Host_PostmessageReady,即可傳送隱藏訊息。例如,以下呼叫會隱藏目前開啟的編輯器會話中的「幫助」標籤和下劃線命令:
const frame = document.getElementById("collaboraFrame");
const collaboraOrigin = "https://office.example.com";
function sendToCollabora(MessageId, Values = {}) {
frame.contentWindow.postMessage({
MessageId,
SendTime: Date.now(),
Values
}, collaboraOrigin);
}
// Call after the WOPI PostMessage readiness exchange.
sendToCollabora("Hide_NotebookTab", { id: "Help" });
sendToCollabora("Hide_Command", { id: ".uno:Underline" });


請將此處替換office.example.com為您自己的 CODE iframe 的來源。此範例展示了訊息格式;請將其整合到宿主的實際 iframe 生命週期中,並在回應之前驗證傳入訊息的來源。 CODE 文件指出,先前發送的宿主訊息Host_PostmessageReady可能會被忽略。
Hide_NotebookTab:在選項卡視圖中,它可以用於整個選項卡。它id是選項卡 ID,例如Help。Show_NotebookTab表示撤銷更改。此標籤在會話期間保持隱藏狀態,直到收到顯示訊息。Hide_Command:當需要將命令從功能表、工具列和上下文功能表中移除時,請使用此選項。例如,`.` 表示該指令的 ID 為 ` .uno:Underline.`。此選項Show_Command會反轉其 ID。僅當希望將該命令從所有這些介面中移除時才使用此選項。Hide_Button:當您只想隱藏單一按鈕而不是該命令的所有 UI 條目時,請使用此功能。它的 ID 是工具列按鈕 ID,不一定是 UNO 指令名稱。 Collabora 文件指出這些 ID 通常保持穩定,但不能保證始終如此;請根據您的特定版本和設備外形尺寸,對照原始碼進行確認。Hide_Menubar此操作會隱藏整個功能表列。它並非針對單一指令進行控制,請勿與隱藏筆記本列標籤混淆。postMessage API 適用於整合主機。如果您使用的是 Nextcloud、ownCloud 或其他平台,請在建立自訂主機程式碼之前,請檢查其連接器是否公開了支援的設定。避免將 CSS 注入到編輯器頁面中:這樣做在不同版本之間不穩定,並且只會隱藏控制項的視覺效果。
使用與使用者相同的瀏覽器、文件類型、權限和程式碼版本開啟測試文件。確認所選模式,檢查是否僅隱藏了預期的選項卡或命令,並測試對應的顯示訊息或工具列展開操作。如果您的整合支援 Writer、Calc 和 Impress,請對這三個模組重複上述步驟;不同模組的可用命令和工具列 ID 不一定相同。
如果隱藏控制項仍然顯示,請檢查傳送訊息的主機Host_PostmessageReady、其 WOPIPostMessageOrigin和 iframe 目標來源是否正確,以及訊息是否使用了預期的 ID 和拼字。此外,也要對照文件中記錄的功能基線檢查伺服器版本。成功的視覺隱藏並不會從底層文件引擎移除指令,也不會建立安全限制。請使用 WOPI 權限和後端策略進行存取控制。
檢查 WebSocket 逾時、代理規則、入口設定和 CODE 日誌,排查 Collabora Online CODE 會話在大約 10 分鐘後斷開連線的問題。
透過 WOPI CheckFileInfo 限制 Collabora Online 程式碼匯出。了解何時使用 DisableExport、HideExportOption 以及單獨的主機端下載控制。
了解如何透過 WOPI PostMessage API 在 CODE 中切換緊湊視圖和選項卡視圖、折疊筆記本欄以及隱藏特定選項卡或命令。
為 Collabora CODE 在 Nginx 後設定 SSL 終止,包括 Docker 設定、WebSocket 代理、驗證檢查和故障排除指南。
保護您的重要文件免受任何外部來源的侵害將非常有益。有時在撰寫文件時,迫切需要
關係型資料庫管理系統(如 Access 2010)的優點之一是可以輕鬆設定具有約束的表和關係,以使
在 MS Access 中,如果指定條件的計算結果為 TRUE,則 IIF 函數傳回一個值;如果計算結果為 FALSE,則傳回另一個值。 IIF 函數
間距在建立文件時非常重要,因為它會影響文件的外觀和呈現效果。您可以輕鬆增加或減少
圖表和圖形是呈現數據的絕佳方式。 Microsoft Excel 2010 提供幾乎所有類型的圖表,並簡化了繪製流程,以便
Microsoft Office 套件應用程式提供了最簡單的方法來自訂功能區、標籤和快速存取工具欄,但如果您需要安裝新的