ปรับแต่งแถบเครื่องมือ Collabora CODE โดยไม่ต้องแก้ไขซอร์สโค้ด

เพื่อให้การใช้งานโปรแกรมแก้ไข Collabora Online Development Edition (CODE) ง่ายขึ้น ให้เลือกรูปแบบ CompactหรือTabbedสำหรับเค้าโครงโดยรวม จากนั้นใช้การผสานรวม PostMessage ของโฮสต์ WOPI เพื่อซ่อนคำสั่ง ปุ่ม หรือแท็บ Notebookbar แต่ละรายการ การยุบแถบเครื่องมือเป็นการเปลี่ยนแปลงมุมมองที่สะดวก แต่การซ่อนตัวควบคุมผ่านโฮสต์นั้นเหมาะสมกว่าเมื่อคุณต้องการอินเทอร์เฟซที่สม่ำเสมอสำหรับทุกเซสชันการแก้ไข

คุณควรปรับแต่งอินเทอร์เฟซ CODE ใด

CODE มีเลย์เอาต์แบบกะทัดรัดพร้อมเมนูและแถบเครื่องมือแบบดั้งเดิม และเลย์เอาต์แบบแท็บพร้อมแถบสมุดบันทึก เริ่มต้นด้วยการระบุว่าผู้ใช้ของคุณเห็นเลย์เอาต์แบบใด: รหัสปุ่มบนแถบเครื่องมือและรหัสแท็บบนแถบสมุดบันทึกไม่สามารถใช้แทนกันได้ คำแนะนำการสนับสนุนของ Collabora ระบุว่าชื่อเดิมถูกยกเลิกclassicและ แทนที่ด้วยชื่อ ใหม่ตั้งแต่เวอร์ชัน 21.11 เป็นต้นไป โปรดดูคำแนะนำการกำหนดค่าอินเทอร์เฟซของ Collaboranotebookbarcompacttabbed

Collabora CODE มีอินเทอร์เฟซแบบแท็บ ประกอบด้วยแท็บ ไฟล์ หน้าแรก แทรก เค้าโครง มุมมอง และความช่วยเหลือ อยู่เหนือเอกสาร Writer
รูปแบบการจัดวางแบบแท็บจะจัดกลุ่มเครื่องมือแก้ไขไว้ภายใต้แท็บที่มีชื่อ โดยแท็บช่วยเหลือเป็นเป้าหมายที่เป็นไปได้สำหรับฟังก์ชัน Hide_NotebookTab
อินเทอร์เฟซแบบกะทัดรัดของ Collabora CODE แสดงเมนู ไฟล์, แก้ไข, ดู, แทรก, จัดรูปแบบ, เครื่องมือ และ ช่วยเหลือ อยู่เหนือแถบเครื่องมือแคบๆ
รูปแบบการจัดวางแบบกะทัดรัดจะใช้แถวเมนูแยกต่างหากและแถบปุ่มที่เล็กกว่า ดังนั้นเมนูและปุ่มควบคุมจึงต้องมีตัวระบุที่แตกต่างกัน

คุณควรเปลี่ยนค่าเริ่มต้นของเซิร์ฟเวอร์หรือเซสชันของผู้ใช้ดี?

เปลี่ยนค่าเริ่มต้นของเซิร์ฟเวอร์เฉพาะเมื่อผู้ใช้ส่วนใหญ่ควรเริ่มต้นด้วยเค้าโครงเดียวกัน ในการติดตั้งแบบจัดการเองuser_interface.modeการตั้งค่าcoolwsd.xmlจะยอมรับdefault, compact, หรือtabbedสำรองข้อมูลการกำหนดค่า จากนั้นเปลี่ยนmodeค่าที่มีอยู่แทนที่จะเพิ่มองค์ประกอบ XML อีกตัว:

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

XML ฉบับย่อนี้แสดงการตั้งค่า ไม่ใช่การแทนที่ส่วนการกำหนดค่าทั้งหมด ให้ทำการเปลี่ยนแปลงผ่านกระบวนการกำหนดค่าและการรีสตาร์ทบริการตามปกติของการใช้งานของคุณ จากนั้นเปิดเอกสารอีกครั้ง การใช้งานคอนเทนเนอร์อาจส่ง--o:user_interface.mode=tabbedผ่านการตั้งค่าการเริ่มต้น CODE ที่มีอยู่แล้วแทนได้ แอปพลิเคชันที่ฝังตัวอยู่ยังสามารถมีอิทธิพลต่อโหมดการเริ่มต้นผ่านui_defaultsค่า WOPI ได้อีกด้วย การตั้งค่าของโฮสต์อาจมีความสำคัญเมื่อเซิร์ฟเวอร์ใช้defaultดังนั้นอย่าคิดว่าการแก้ไขเซิร์ฟเวอร์จะแทนที่ตัวเลือกเฉพาะของการรวมระบบ

คุณสามารถซ่อนแถบเครื่องมือทั้งหมดโดยไม่ต้องแก้ไขซอร์สโค้ดได้หรือไม่?

เพื่อให้มีพื้นที่มากขึ้นขณะอ่าน การคลิกแท็บที่เลือกอยู่ในปัจจุบันจะย่อแถบ Notebookbar การคลิกอีกครั้งจะขยายแถบ Notebookbar Collabora อธิบายพฤติกรรมนี้ไว้ในบทนำอย่างเป็นทางการเกี่ยวกับ Notebookbarนอกจากนี้ API ของ PostMessage ยังได้บันทึกCollapse_Notebookbarการซ่อนปุ่ม Notebookbar หรือแถบปุ่มแบบกะทัดรัดไว้ด้วย นี่เป็นสถานะการแสดงผลที่สามารถย้อนกลับได้ ไม่ใช่นโยบายถาวรของผู้ดูแลระบบ

เพื่อการควบคุมที่ละเอียดขึ้น ให้เลือกแอ็กชัน PostMessage ที่ตรงกับองค์ประกอบนั้น การแมปต่อไปนี้แสดงอยู่ในคู่มือ Collabora Online SDK :

สิ่งที่จะซ่อนการดำเนินการ PostMessageรูปแบบ ID
ปุ่มแถบเครื่องมือหนึ่งปุ่มHide_Buttonรหัสปุ่ม
คำสั่งที่ใช้ได้กับเมนูและแถบเครื่องมือทุกเมนูHide_Commandคำสั่ง UNO เช่น.uno:ThemeDialog
แท็บหนึ่งในรูปแบบการจัดวางแบบแท็บHide_NotebookTabรหัสแท็บ เช่นHelp
รายการเมนูแบบกะทัดรัดHide_Menu_Itemรหัสรายการเมนู

การทำงานเฉพาะแท็บได้รับการบันทึกไว้ตั้งแต่เวอร์ชัน24.04.11.1 SDK ยังระบุถึงการครอบคลุมเมนูบริบทที่ขยายเพิ่มเติมHide_Commandในเวอร์ชัน 24.04.11.2ด้วย โปรดตรวจสอบบิลด์ CODE ที่คุณใช้งานก่อนที่จะเชื่อถือพฤติกรรมใดๆ เหล่านี้

คุณส่งคำสั่งซ่อนจากโฮสต์ WOPI อย่างไร?

การกระทำเหล่านี้ถูกส่งโดยแอปพลิเคชันที่ฝังโค้ดไว้ใน iframe ไม่ใช่โดยการพิมพ์ลงในกล่องโต้ตอบการตั้งค่าโค้ด คุณต้องควบคุมการผสานรวมโฮสต์นั้นCheckFileInfoการตอบสนอง WOPI ที่ใช้งานได้ และPostMessageOriginค่าที่ตรงกับต้นทางของเว็บแอปพลิเคชันโฮสต์ของคุณ หากคุณใช้การผสานรวม Nextcloud หรือ ownCloud ที่มีแพ็กเกจ อาจไม่เปิดเผยฮุก PostMessage แบบกำหนดเอง ในกรณีนั้น ให้ทำการเปลี่ยนแปลงในการผสานรวมนั้นเอง หรือใช้การตั้งค่าที่รองรับ

1. รอจนกว่าโค้ดจะโหลดเสร็จสมบูรณ์

ลงทะเบียนตัวรับฟังข้อความในหน้าโฮสต์ ตรวจสอบทั้งหน้าต่างผู้ส่งและต้นทาง เมื่อ CODE รายงานApp_LoadingStatusด้วยStatus: Document_Loadedให้ส่งHost_PostmessageReadyก่อนข้อความปรับแต่ง หากไม่มีการจับมือกันนั้น CODE อาจเพิกเฉยต่อคำสั่งโฮสต์ ซึ่งเป็นข้อผิดพลาดที่อธิบายไว้ในปัญหา Collabora # 13224

2. ซ่อนแท็บและคำสั่งจัดรูปแบบ

โค้ด JavaScript ฝั่งโฮสต์ต่อไปนี้ สมมติว่าหน้าเว็บของคุณมี iframe ที่มี ID อยู่แล้วcollabora-frameตั้งeditorOriginค่า ID ให้เป็นที่อยู่ HTTPS ที่ให้บริการโปรแกรมแก้ไขโค้ดของคุณ ไม่ใช่เซิร์ฟเวอร์จัดเก็บข้อมูล WOPI ลงทะเบียนตัวรับฟังก่อนการเริ่มต้นเอกสารในแอปพลิเคชันจริงของคุณ:

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' });
});
แผง Sources ของเครื่องมือสำหรับนักพัฒนาเบราว์เซอร์ แสดงตัวรับฟังข้อความฝั่งโฮสต์และการเรียกใช้ Hide_NotebookTab ที่กำหนดเป้าหมายไปยัง Help
แผงซอร์สโค้ดของแอปพลิเคชันโฮสต์คือที่ที่คุณสามารถตรวจสอบการเชื่อมต่อของ postMessage ได้ โปรดใช้ตัวอย่างโค้ดฉบับเต็มในบทความ ไม่ใช่ข้อความย่อที่แสดงในแผงนี้

นี่Helpคือเป้าหมายแท็บ Notebookbar ซึ่ง.uno:ThemeDialogระบุคำสั่ง LibreOffice UNO นักพัฒนา Collabora อธิบาย ID ดังกล่าวอย่างเฉพาะเจาะจงในคำแนะนำเกี่ยวกับการซ่อนองค์ประกอบ UNOหากต้องการซ่อนปุ่มแถบเครื่องมือ Compact ที่เฉพาะเจาะจง ให้แทนที่การกระทำด้วยHide_Buttonและระบุ ID ปุ่มที่ได้รับการตรวจสอบแล้ว อย่าเดา ID จากคำบรรยายที่มองเห็นได้ ตรวจสอบซอร์สโค้ดที่ติดตั้งไว้หรือคำแนะนำเกี่ยวกับ ID แถบเครื่องมือของ SDK

ถ้าแท็บหรือแถบเครื่องมือไม่หายไปล่ะ?

ตรวจสอบคอนโซลของเบราว์เซอร์และกิจกรรมเครือข่ายก่อนแก้ไขไฟล์ CODE สาเหตุที่พบบ่อยที่สุดคือHost_PostmessageReadyการเชื่อมต่อไม่สำเร็จ การตั้งค่าไม่ตรงกันPostMessageOriginการส่งข้อความก่อนเวลาDocument_Loadedหรือการกำหนดเป้าหมายไปที่รายการเมนูแบบกะทัดรัดในขณะที่ตัวแก้ไขอยู่ในโหมดแท็บ การเปิดไฟล์ใหม่จะเริ่มเซสชันใหม่ ดังนั้นควรใช้การซ่อนข้อความทุกครั้ง

ข้อบกพร่องเฉพาะเวอร์ชันก็มีอยู่เช่นกัน ตัวอย่างเช่นปัญหา Collabora หมายเลข #15910อธิบายถึงHide_NotebookTabข้อผิดพลาด JavaScript ใน CODE 25.04.9.4 ซึ่งรายงานในเดือนมิถุนายน 2026 ปัญหาดังกล่าวถูกทำเครื่องหมายว่าปิดแล้ว แต่เพียงแค่นั้นก็ไม่ได้หมายความว่าเวอร์ชันที่ใช้งานอยู่จะมีแก้ไขแล้ว ตรวจสอบเวอร์ชันของคุณและบันทึกการเปลี่ยนแปลงหากคุณพบข้อผิดพลาดที่รายงานไว้

สุดท้ายแล้ว การซ่อนไม่ใช่การควบคุมการเข้าถึง ปุ่มพิมพ์หรือดาวน์โหลดที่ซ่อนไว้อาจยังคงอนุญาตให้เข้าถึง API หรือเส้นทางอื่นๆ ที่เทียบเท่ากันได้ หากเป้าหมายคือการห้ามการดำเนินการเหล่านั้น ให้ใช้ WOPI DisablePrintหรือ แฟล็กที่ระบุไว้ในเอกสาร และบังคับใช้สิทธิ์การ จัดDisableExportเก็บข้อมูลของคุณตามความเหมาะสม แทนที่จะพึ่งพาHide_ButtonหรือHide_Command

คุณจะตรวจสอบได้อย่างไรว่าการปรับแต่งนั้นได้ผล?

เปิดเอกสารใหม่ในรูปแบบที่ต้องการ ตรวจสอบให้แน่ใจว่าHelpแท็บนั้นหายไปในโหมดแท็บ และคำสั่งธีมไม่ปรากฏขึ้นอีกในตำแหน่งที่เคยปรากฏ จากนั้นแก้ไขและบันทึกเอกสารทดสอบเพื่อตรวจสอบว่าการเขียนเอกสารตามปกติยังคงใช้งานได้ ทำซ้ำการตรวจสอบกับเอกสารประเภทอื่น และหลังจากโหลดหน้าเว็บใหม่ เนื่องจากโฮสต์ต้องใช้คำสั่งซ่อนเฉพาะเซสชันอีกครั้ง

Collabora CODE มีอินเทอร์เฟซแบบแท็บ ประกอบด้วยแท็บ ไฟล์ หน้าแรก แทรก เค้าโครง และมุมมอง โดยได้ลบส่วนช่วยเหลือออกไปแล้ว และเอกสาร Writer ยังคงสามารถแก้ไขได้
หลังจากซ่อนแท็บช่วยเหลือแล้ว แท็บแก้ไขอื่นๆ และพื้นที่ทำงานเอกสารจะยังคงใช้งานได้เพื่อให้ตรวจสอบการทำงานได้

ฝากความเห็น

ปรับแต่งแถบเครื่องมือ Collabora CODE โดยไม่ต้องแก้ไขซอร์สโค้ด

ปรับแต่งแถบเครื่องมือ Collabora CODE โดยไม่ต้องแก้ไขซอร์สโค้ด

ลดความซับซ้อนของ Collabora CODE ด้วยโหมดกะทัดรัดหรือโหมดแท็บ และตัวควบคุม WOPI PostMessage เพื่อซ่อนปุ่ม คำสั่ง และแท็บที่เลือกได้อย่างปลอดภัย

เรียกใช้งาน Collabora CODE เบื้องหลัง Nginx พร้อมการยุติการเชื่อมต่อ TLS

เรียกใช้งาน Collabora CODE เบื้องหลัง Nginx พร้อมการยุติการเชื่อมต่อ TLS

กำหนดให้ Nginx ดูแล HTTPS สำหรับคอนเทนเนอร์ Collabora CODE ส่งต่อการแก้ไข WebSockets อย่างถูกต้อง และตรวจสอบปลายทางสาธารณะโดยไม่ต้องเปิดพอร์ต 9980

แสดงข้อความเมื่อแป้นพิมพ์ Collabora Mobile เปิดขึ้น

แสดงข้อความเมื่อแป้นพิมพ์ Collabora Mobile เปิดขึ้น

แก้ไขปัญหาแป้นพิมพ์ในเบราว์เซอร์บนมือถือที่บังข้อความใน Collabora Online พร้อมวิธีแก้ปัญหาอย่างรวดเร็วและการตรวจสอบแยกต่างหากสำหรับเบราว์เซอร์, WebView ที่ฝังอยู่ และหน้าเว็บหลัก

หยุดการพิมพ์และการดาวน์โหลดที่ไม่ต้องการใน ONLYOFFICE

หยุดการพิมพ์และการดาวน์โหลดที่ไม่ต้องการใน ONLYOFFICE

ตั้งค่าขีดจำกัดการพิมพ์และการดาวน์โหลดสำหรับลิงก์ ONLYOFFICE สมาชิกห้อง หรือเซสชัน Docs API จากนั้นตรวจสอบข้อจำกัดจากบัญชีผู้รับ

กำหนดเวลาสำรองข้อมูลที่เชื่อถือได้สำหรับ ONLYOFFICE Workspace

กำหนดเวลาสำรองข้อมูลที่เชื่อถือได้สำหรับ ONLYOFFICE Workspace

ตั้งค่าปลายทางสำรองข้อมูล กำหนดเวลา ครอบคลุมอีเมล และระยะเวลาการเก็บรักษาใน ONLYOFFICE Workspace จากนั้นตรวจสอบว่าไฟล์เก็บถาวรพร้อมสำหรับการกู้คืนแล้ว

ติดตั้ง ONLYOFFICE Docs Enterprise พร้อมไฟล์เขียนเอกสารอย่างเป็นทางการ

ติดตั้ง ONLYOFFICE Docs Enterprise พร้อมไฟล์เขียนเอกสารอย่างเป็นทางการ

เริ่มต้นใช้งาน Enterprise Docker Compose stack บันทึกใบอนุญาตและข้อมูลต่างๆ กำหนดค่า JWT อย่างปลอดภัย และตรวจสอบว่าโปรแกรมแก้ไขพร้อมสำหรับการผสานรวมแล้ว

ทำความสะอาดข้อความในสเปรดชีตด้วยมาโคร ONLYOFFICE ที่สามารถนำกลับมาใช้ใหม่ได้

ทำความสะอาดข้อความในสเปรดชีตด้วยมาโคร ONLYOFFICE ที่สามารถนำกลับมาใช้ใหม่ได้

ใช้มาโคร JavaScript ของ ONLYOFFICE เพื่อลบอักขระที่ไม่สามารถพิมพ์ได้และตัดช่องว่างส่วนเกินออกจากช่วงข้อมูลที่กำหนดในสเปรดชีต พร้อมขั้นตอนการตรวจสอบที่ปลอดภัย

เปลี่ยนตำแหน่งจัดเก็บข้อมูลเริ่มต้นของ ONLYOFFICE Workspace

เปลี่ยนตำแหน่งจัดเก็บข้อมูลเริ่มต้นของ ONLYOFFICE Workspace

ย้ายข้อมูลพอร์ทัลจากดิสก์เริ่มต้นไปยังผู้ให้บริการพื้นที่จัดเก็บข้อมูลบนคลาวด์ที่รองรับ หรือย้ายข้อมูล Docker อย่างปลอดภัยโดยการเปลี่ยนการแมปวอลุ่มโฮสต์

ลบ ONLYOFFICE Document Server ออกจาก Linux อย่างสมบูรณ์

ลบ ONLYOFFICE Document Server ออกจาก Linux อย่างสมบูรณ์

ตรวจสอบว่า Document Server ใช้แพ็กเกจ Linux หรือ Docker ลบเฉพาะส่วนประกอบของมัน และตรวจสอบข้อมูลที่เหลืออยู่โดยไม่ลบบริการที่ใช้ร่วมกันโดยไม่ได้ตั้งใจ

แก้ปัญหาความล่าช้าในการแก้ไขร่วมของ ONLYOFFICE ด้วยการค้นหาจุดที่เป็นปัญหา

แก้ปัญหาความล่าช้าในการแก้ไขร่วมของ ONLYOFFICE ด้วยการค้นหาจุดที่เป็นปัญหา

ตรวจสอบหาสาเหตุของการแก้ไขเอกสารร่วมกันที่ช้า เช่น แรงกดดันด้านทรัพยากรของ Docker การเชื่อมต่อพร็อกซี หรือการโหลดเอกสาร จากนั้นเลือกวิธีแก้ไขที่ตรงกับผลการวิเคราะห์ของคุณ