Dostosuj paski narzędzi Collabora CODE bez edycji kodu źródłowego

Aby uprościć edytor Collabora Online Development Edition (CODE), wybierz opcję Kompaktowy lub Zakładkowy dla całego układu, a następnie skorzystaj z integracji PostMessage hosta WOPI, aby ukryć poszczególne polecenia, przyciski lub karty Notebookbar. Zwinięcie paska narzędzi to wygodna zmiana w widoku; ukrycie kontrolki za pośrednictwem hosta jest bardziej odpowiednie, gdy zależy Ci na spójnym interfejsie dla każdej sesji edycji.

Który interfejs CODE należy dostosować?

CODE oferuje układ kompaktowy z tradycyjnymi menu i paskami narzędzi oraz układ z zakładkami z paskiem Notatnika. Zacznij od zidentyfikowania, który z nich widzą użytkownicy: identyfikator przycisku paska narzędzi i identyfikator zakładki paska Notatnika nie są zamienne. Wskazówki dotyczące wsparcia technicznego Collabora wskazują, że starsze nazwy classiczostały notebookbarwycofane na rzecz compactserii tabbed21.11. Zobacz wskazówki dotyczące konfiguracji interfejsu Collabora .

Collabora CODE Interfejs z kartami: Plik, Strona główna, Wstawianie, Układ, Widok i Pomoc nad dokumentem programu Writer.
Układ z kartami grupuje narzędzia edycyjne pod nazwanymi kartami. Karta Pomoc jest potencjalnym celem dla Hide_NotebookTab.
Kompaktowy interfejs Collabora CODE przedstawiający menu Plik, Edycja, Widok, Wstaw, Format, Narzędzia i Pomoc umieszczone nad wąskim paskiem narzędzi.
W układzie Compact zastosowano oddzielny wiersz menu i mniejszy pasek przycisków, dlatego elementy sterujące menu i przyciskami wymagają różnych identyfikatorów.

Czy powinieneś zmienić domyślne ustawienia serwera czy sesję użytkownika?

Zmień ustawienia domyślne serwera tylko wtedy, gdy większość użytkowników powinna zacząć od tego samego układu. W instalacjach zarządzanych samodzielnie, ustawienie user_interface.modew opcji coolwsd.xmlakceptuje default, compactlub tabbed. Utwórz kopię zapasową konfiguracji, a następnie zmień istniejącą modewartość zamiast dodawać kolejny element XML:

<user_interface>
  <mode>tabbed</mode>
</user_interface>

Ten skrócony kod XML demonstruje ustawienie, a nie zastępuje całej sekcji konfiguracji. Zastosuj zmianę poprzez standardową konfigurację wdrożenia i proces ponownego uruchomienia usługi, a następnie ponownie otwórz dokument. Wdrożenia kontenerów mogą zamiast tego przekazać --o:user_interface.mode=tabbedistniejące nadpisania startowe CODE. Aplikacja osadzona może również wpływać na tryb uruchamiania poprzez swoją ui_defaultswartość WOPI. Preferencje hosta mogą mieć znaczenie, gdy serwer używa default, więc nie zakładaj, że edycja serwera nadpisze wybór specyficzny dla integracji.

Czy można ukryć cały pasek narzędzi bez edytowania kodu źródłowego?

Aby uzyskać więcej miejsca podczas czytania, kliknięcie aktualnie wybranej karty może zwinąć pasek Notatnika; ponowne kliknięcie go rozwinie. Collabora opisuje to zachowanie w oficjalnym wprowadzeniu do paska Notatnika . Interfejs API PostMessage również dokumentuje Collapse_Notebookbarfunkcję ukrywania przycisków paska Notatnika lub paska przycisków Kompakt. Jest to odwracalny stan wyświetlania, a nie stała polityka administratora.

Aby uzyskać większą kontrolę, wybierz akcję PostMessage pasującą do elementu. Poniższe mapowania są wymienione w podręczniku Collabora Online SDK :

Co ukryćAkcja PostMessageFormat identyfikatora
Jeden przycisk paska narzędziHide_ButtonIdentyfikator przycisku
Polecenie w menu i paskach narzędziHide_CommandPolecenie UNO, takie jak.uno:ThemeDialog
Jedna zakładka w układzie zakładkowymHide_NotebookTabIdentyfikator karty, taki jakHelp
Kompaktowy wpis w menuHide_Menu_ItemIdentyfikator pozycji menu

Akcja specyficzna dla karty jest udokumentowana od wersji 24.04.11.1 . Zestaw SDK informuje również o rozszerzonym zakresie menu kontekstowego Hide_Commandw wersji 24.04.11.2 . Przed skorzystaniem z któregokolwiek z tych rozwiązań sprawdź wdrożoną kompilację KODU.

Jak wysłać polecenia ukrycia z hosta WOPI?

Te akcje są wysyłane przez aplikację osadzającą kod CODE w ramce iframe, a nie wpisywane w oknie dialogowym ustawień kodu CODE. Potrzebujesz kontroli nad tą integracją hosta, działającej CheckFileInfoodpowiedzi WOPI oraz PostMessageOriginwartości odpowiadającej źródłu aplikacji internetowej hosta. Jeśli korzystasz z spakowanej integracji Nextcloud lub ownCloud, może ona nie udostępniać dowolnych niestandardowych haków PostMessage; w takim przypadku wprowadź zmianę w samej integracji lub skorzystaj z jej obsługiwanych ustawień.

1. Poczekaj, aż KODEKS zostanie załadowany

Zarejestruj nasłuchiwacza wiadomości na stronie hosta. Zweryfikuj zarówno okno nadawcy, jak i źródło. Gdy CODE zgłasza App_LoadingStatusbłąd Status: Document_Loaded, wyślij go Host_PostmessageReadyprzed wiadomościami dostosowującymi. Bez tego uzgadniania CODE może zignorować polecenia hosta — błąd opisany w zgłoszeniu Collabora nr 13224 .

2. Ukryj kartę i polecenie formatowania

Poniższy kod JavaScript po stronie hosta zakłada, że ​​Twoja strona ma już ramkę iframe o identyfikatorze collabora-frame. Ustaw editorOriginna dokładne źródło HTTPS obsługujące edytor CODE, a nie serwer pamięci masowej WOPI. Zarejestruj nasłuchiwacz przed inicjalizacją dokumentu w swojej rzeczywistej aplikacji:

const frame = document.getElementById('collabora-frame');
const editorOrigin = 'https://office.example.com';

function sendToCode(MessageId, Values = {}) {
  frame.contentWindow.postMessage(JSON.stringify({
    MessageId, SendTime: Date.now(), Values
  }), editorOrigin);
}

window.addEventListener('message', (event) => {
  if (event.source !== frame.contentWindow ||
      event.origin !== editorOrigin) return;
  let message;
  try {
    message = typeof event.data === 'string'
      ? JSON.parse(event.data) : event.data;
  } catch { return; }
  if (message?.MessageId !== 'App_LoadingStatus' ||
      message?.Values?.Status !== 'Document_Loaded') return;

  sendToCode('Host_PostmessageReady');
  sendToCode('Hide_NotebookTab', { id: 'Help' });
  sendToCode('Hide_Command', { id: '.uno:ThemeDialog' });
});
Panel Źródła narzędzi programistycznych przeglądarki pokazujący nasłuchiwacza komunikatów po stronie hosta i wywołanie Hide_NotebookTab odnoszące się do Pomocy.
Panel źródłowy aplikacji hosta to miejsce, w którym można sprawdzić okablowanie postMessage. Użyj pełnego przykładu kodu z artykułu, a nie skróconego tekstu pokazanego w tym panelu.

Oto Helpcel zakładki Notebookbar, który .uno:ThemeDialogidentyfikuje polecenie LibreOffice UNO. Twórcy Collabora szczegółowo opisują ten ostatni identyfikator w swoich wskazówkach dotyczących ukrywania elementów UNO . Aby ukryć konkretny przycisk Kompaktowego paska narzędzi, zastąp akcję Hide_Buttoni podaj zweryfikowany identyfikator przycisku. Nie zgaduj identyfikatora na podstawie widocznego podpisu; sprawdź zainstalowany kod źródłowy lub wskazówki dotyczące identyfikatorów paska narzędzi w pakiecie SDK.

Co się stanie, jeśli karta lub pasek narzędzi nie zniknie?

Przed zmianą plików CODE sprawdź konsolę przeglądarki i aktywność sieciową. Najczęstszymi przyczynami są brak Host_PostmessageReadyuzgadniania, niedopasowanie PostMessageOrigin, wysyłanie komunikatów przed Document_Loadedlub wybieranie pozycji menu Kompakt, gdy edytor jest w trybie kart. Ponowne otwarcie pliku rozpoczyna nową sesję, dlatego za każdym razem stosuj opcję ukrywania komunikatów.

Istnieją również defekty specyficzne dla danej wersji. Na przykład, zgłoszenie Collabora nr 15910 opisuje Hide_NotebookTabbłąd JavaScript w CODE 25.04.9.4, zgłoszony w czerwcu 2026 roku; problem jest oznaczony jako zamknięty, ale samo to nie określa, które wdrożone kompilacje zawierają poprawkę. Sprawdź swoją wersję i jej informacje o wydaniu, jeśli widzisz zgłoszony błąd.

Wreszcie, ukrywanie nie jest kontrolą dostępu. Ukryty przycisk „Drukuj” lub „Pobierz” może pozostawić dostępne równoważne interfejsy API lub inne ścieżki. Jeśli celem jest zablokowanie tych operacji, należy użyć udokumentowanego pliku WOPI DisablePrintlub DisableExportflag i wymusić odpowiednie uprawnienia do przechowywania danych, zamiast polegać na Hide_Buttonlub Hide_Command.

Jak można sprawdzić, czy dostosowanie zadziałało?

Otwórz nowy dokument w odpowiednim układzie. Sprawdź, czy Helpzakładka jest nieobecna w trybie kart i czy polecenie Motyw nie jest już dostępne tam, gdzie było wcześniej widoczne. Następnie edytuj i zapisz dokument testowy, aby upewnić się, że normalne tworzenie nadal działa. Powtórz sprawdzenie z innym typem dokumentu i po ponownym załadowaniu strony, ponieważ host musi ponownie zastosować polecenia ukrywania specyficzne dla sesji.

Interfejs Collabora CODE z zakładkami: Plik, Strona główna, Wstawianie, Układ i Widok, z usuniętą Pomocą i dokumentem programu Writer, który nadal można edytować.
Po ukryciu karty Pomoc pozostałe karty edycji oraz obszar roboczy dokumentu pozostają dostępne w celu sprawdzenia ich działania.

Zostaw komentarz

Dostosuj paski narzędzi Collabora CODE bez edycji kodu źródłowego

Dostosuj paski narzędzi Collabora CODE bez edycji kodu źródłowego

Uprość środowisko Collabora CODE dzięki trybowi kompaktowemu lub z zakładkami oraz kontrolkom WOPI PostMessage, aby bezpiecznie ukryć wybrane przyciski, polecenia i zakładki.

Uruchomienie kodu Collabora za Nginx z zakończeniem TLS

Uruchomienie kodu Collabora za Nginx z zakończeniem TLS

Przypisz Nginxowi obsługę protokołu HTTPS dla kontenera Collabora CODE, popraw edycję WebSockets i zweryfikuj publiczny punkt końcowy bez ujawniania portu 9980.

Zachowaj widoczność tekstu po otwarciu klawiatury mobilnej Collabora

Zachowaj widoczność tekstu po otwarciu klawiatury mobilnej Collabora

Rozwiąż problem z klawiaturą przeglądarki mobilnej zasłaniającą tekst w usłudze Collabora Online, korzystając z szybkich obejść i oddzielnych sprawdzeń dla przeglądarek, osadzonych elementów WebViews i stron hosta.

Zatrzymaj niechciane drukowanie i pobieranie w ONLYOFFICE

Zatrzymaj niechciane drukowanie i pobieranie w ONLYOFFICE

Ustaw limity drukowania i pobierania tylko dla łączy ONLYOFFICE, członków pokoju lub sesji API Dokumentów, a następnie zweryfikuj ograniczenia z poziomu konta odbiorcy.

Zaplanuj niezawodne kopie zapasowe dla obszaru roboczego ONLYOFFICE

Zaplanuj niezawodne kopie zapasowe dla obszaru roboczego ONLYOFFICE

Ustaw miejsce docelowe kopii zapasowej, harmonogram, zasięg poczty i limit przechowywania w obszarze roboczym ONLYOFFICE, a następnie sprawdź, czy archiwum jest gotowe do przywrócenia.

Wdróż ONLYOFFICE Docs Enterprise z oficjalnym plikiem Compose

Wdróż ONLYOFFICE Docs Enterprise z oficjalnym plikiem Compose

Uruchom stos Enterprise Docker Compose, zapisz jego licencję i dane, bezpiecznie skonfiguruj JWT i sprawdź, czy edytory są gotowe do integracji.

Czysty tekst arkusza kalkulacyjnego z możliwością wielokrotnego użytku makro ONLYOFFICE

Czysty tekst arkusza kalkulacyjnego z możliwością wielokrotnego użytku makro ONLYOFFICE

Użyj makra JavaScript ONLYOFFICE, aby usunąć znaki niedrukowalne i usunąć zbędne spacje z określonego zakresu arkusza kalkulacyjnego, korzystając z bezpiecznego przepływu pracy przeglądu.

Zmień domyślną lokalizację przechowywania danych w obszarze roboczym ONLYOFFICE

Zmień domyślną lokalizację przechowywania danych w obszarze roboczym ONLYOFFICE

Przenieś dane portalu z domyślnego dysku do obsługiwanego dostawcy pamięci masowej w chmurze lub bezpiecznie przenieś dane Docker, zmieniając mapowanie woluminu hosta.

Całkowite usunięcie serwera dokumentów ONLYOFFICE z systemu Linux

Całkowite usunięcie serwera dokumentów ONLYOFFICE z systemu Linux

Sprawdź, czy Document Server używa pakietu Linux czy Dockera, usuń tylko jego komponenty i sprawdź pozostałe dane, nie usuwając przez pomyłkę usług współdzielonych.

Zatrzymaj opóźnienia we współedycji ONLYOFFICE, znajdując wąskie gardło

Zatrzymaj opóźnienia we współedycji ONLYOFFICE, znajdując wąskie gardło

Powiąż powolną edycję zespołową z obciążeniem zasobów Dockera, połączeniami proxy lub obciążeniem dokumentu, a następnie wybierz rozwiązanie odpowiadające Twoim pomiarom.