Αποσφαλμάτωση πρόσθετων ONLYOFFICE: πρακτικός οδηγός
Η ανάπτυξη και αποσφαλμάτωση πρόσθετων (plugins) για το ONLYOFFICE μπορεί να είναι δύσκολη, αλλά με τα σωστά εργαλεία και τεχνικές, η διαδικασία μπορεί να γίνει πολύ πιο εύκολη. Αυτός ο οδηγός θα σας καθοδηγήσει βήμα βήμα στον τρόπο αποσφαλμάτωσης πρόσθετων σε διαφορετικά περιβάλλοντα.

Σχετικά με τα πρόσθετα ONLYOFFICE
Το ONLYOFFICE σας επιτρέπει να επεκτείνετε τη λειτουργικότητα των επεξεργαστών του μέσω πρόσθετων. Αυτά τα πρόσθετα είναι σελίδες HTML που ενσωματώνονται στον επεξεργαστή και χρησιμοποιούν ένα API για να αλληλεπιδρούν μαζί του. Η κατανόηση της δομής των πρόσθετων και των μεθόδων αποσφαλμάτωσης είναι βασική για επιτυχημένη ανάπτυξη.
Δομή πρόσθετου
Ένα τυπικό πρόσθετο ONLYOFFICE αποτελείται από τα ακόλουθα αρχεία:
- config.json: Ένα αρχείο διαμόρφωσης που ορίζει βασικές πληροφορίες για το πρόσθετο.
- index.html: Η κύρια σελίδα HTML του πρόσθετου.
- scripts: Ένας κατάλογος που περιέχει τα αρχεία JavaScript που απαιτούνται για τη λειτουργικότητα του πρόσθετου.
Μια λεπτομερής δομή και παραδείγματα είναι διαθέσιμα εδώ.
Αποσφαλμάτωση πρόσθετων στους διαδικτυακούς επεξεργαστές
Για να αποσφαλματώσετε πρόσθετα στη διαδικτυακή έκδοση του επεξεργαστή ONLYOFFICE, ακολουθήστε τα εξής βήματα:
- Προσθέστε την εντολή debugger στο script σας.
(function (window, undefined) {
window.Asc.plugin.init = function () {
this.callCommand(function () {
debugger;
let oDocument = Api.GetDocument();
let oParagraph = Api.CreateParagraph();
oParagraph.AddText("Hello from the plugin!");
oDocument.InsertContent([oParagraph]);
}, true);
};
})(window, undefined);
- Πατήστε F12 για να ανοίξετε την κονσόλα στον φυλλομετρητή σας.
- Στον επεξεργαστή ONLYOFFICE, μεταβείτε στην καρτέλα Plugins και εκτελέστε το πρόσθετό σας.
Σημείωση: Η εντολή debugger θα λειτουργήσει μόνο εάν τα εργαλεία προγραμματιστών είναι ανοικτά· διαφορετικά, θα αγνοηθεί. Μπορείτε να διαβάσετε περισσότερα σχετικά με αυτό, σε αυτή τη σελίδα.
Αποσφαλμάτωση πρόσθετων στους επεξεργαστές για υπολογιστές
Για να αποσφαλματώσετε πρόσθετα στην έκδοση για υπολογιστές του επεξεργαστή ONLYOFFICE, χρησιμοποιήστε την ακόλουθη προσέγγιση:
- Εκτελέστε τον επεξεργαστή με τη σημαία –ascdesktop-support-debug-info.

- Αυτή η σημαία ενεργοποιεί την εμφάνιση πρόσθετων πληροφοριών χρήσιμων για αποσφαλμάτωση.
- Παρόμοια με τους διαδικτυακούς επεξεργαστές, εισάγετε debugger; στην επιθυμητή θέση στον κώδικά σας.
(function (window, undefined) {
window.Asc.plugin.init = function () {
this.callCommand(function () {
debugger;
let oDocument = Api.GetDocument();
let oParagraph = Api.CreateParagraph();
oParagraph.AddText("Hello from the plugin!");
oDocument.InsertContent([oParagraph]);
}, true);
};
})(window, undefined);
- Πατήστε F1 για να ανοίξετε την κονσόλα και εκτελέστε το πρόσθετο.
Μετά την εκκίνηση του επεξεργαστή με την καθορισμένη σημαία, ανοίξτε το πρόσθετο και ακολουθήστε την εκτέλεση του κώδικα.

Λεπτομερείς οδηγίες για διαφορετικά λειτουργικά συστήματα είναι διαθέσιμες εδώ.
Διαχείριση πεδίων εφαρμογής (scopes)
Κατά την ανάπτυξη ενός πρόσθετου ONLYOFFICE, είναι σημαντικό να κατανοήσετε πώς να μεταφέρετε δεδομένα ανάμεσα στη διεπαφή χρήστη του πρόσθετού σας (τη σελίδα HTML) και στο περιβάλλον εκτέλεσης του επεξεργαστή όπου εκτελούνται οι εντολές του API Document Builder. Αυτά είναι διαφορετικά περιβάλλοντα ή πεδία εφαρμογής (scopes).
Μια συνηθισμένη πηγή σφαλμάτων είναι η ακατάλληλη διαχείριση δεδομένων μεταξύ αυτών των πεδίων. Το ONLYOFFICE παρέχει το αντικείμενο Asc.scope για να διευκολύνει αυτή τη διαδικασία. Μπορείτε να επισυνάψετε μεταβλητές στο Asc.scope στο κύριο script του πρόσθετού σας, και θα είναι προσβάσιμες μέσα στη συνάρτηση που περνάτε στο this.callCommand().
Ακολουθεί ένα παράδειγμα για το πώς να μεταφέρετε μια μεταβλητή κειμένου από το πρόσθετό σας στον επεξεργαστή:
(function (window, undefined) {
window.Asc.plugin.init = function () {
// Στο κύριο script (π.χ., scripts/plugin.js)
let text = "Hello from the plugin!";
Asc.scope.dataForEditor = text; // Εξαγωγή μεταβλητής στο κοινό πεδίο του πρόσθετου
// Στην εντολή που εκτελείται στο πεδίο του επεξεργαστή
this.callCommand(function () {
debugger;
let oDocument = Api.GetDocument();
let Paragraph = Api.CreateParagraph();
oParagraph.AddText(Asc.scope.dataForEditor);// Πρόσβαση στη μεταβλητή μέσω του Asc.scope
oDocument.InsertContent([oParagraph]);
}, true);
};
})(window, undefined);
Η σωστή χρήση του Asc.scope διασφαλίζει ότι τα δεδομένα μεταφέρονται σωστά μεταξύ διαφορετικών περιβαλλόντων, κάτι που είναι κρίσιμο για την κατασκευή πολύπλοκων πρόσθετων.
Συχνά προβλήματα και αντιμετώπιση
Κατά τη διάρκεια της αποσφαλμάτωσης μπορεί να αντιμετωπίσετε πολλά συνηθισμένα προβλήματα. Ακολουθούν μερικά από τα πιο συχνά προβλήματα και οι λύσεις τους:
Η δήλωση debugger δεν λειτουργεί
Η δήλωση debugger; αγνοείται και η εκτέλεση δεν διακόπτεται.
- Βεβαιωθείτε ότι τα εργαλεία προγραμματιστών του φυλλομετρητή (F12) είναι ανοικτά πριν εκτελέσετε το πρόσθετο.
- Η δήλωση debugger; λειτουργεί μόνο όταν τα DevTools είναι ενεργά.
Το πρόσθετο δεν φορτώνει ή δεν είναι ορατό
- Ελέγξτε ότι το αρχείο config.json είναι σωστά μορφοποιημένο (έγκυρο JSON).
- Επαληθεύστε ότι όλα τα απαιτούμενα πεδία στο config.json είναι παρόντα (name, guid, baseUrl).
- Ελέγξτε την κονσόλα του φυλλομετρητή για τυχόν σφάλματα φόρτωσης.
- Βεβαιωθείτε ότι το πρόσθετο είναι σωστά εγκατεστημένο στην καρτέλα πρόσθετων του ONLYOFFICE.
- Χειροκίνητη εγκατάσταση με συμπιεσμένο αρχείο .plugin ή μέθοδος Asc.editor.installDeveloperPlugin().
Σφάλματα Cors (διασταυρούμενης προέλευσης πόρων)
- Εγκαταστήστε το ONLYOFFICE Docs.
- Για τους διαδικτυακούς επεξεργαστές στο ONLYOFFICE Docs, βεβαιωθείτε ότι εκτελείτε http-server μέσα στον φάκελο του πρόσθετού σας.
- Ή προσαρμόστε τη διαδρομή προς το αρχείο config.json σας στο installDeveloperPlugin().
Asc.editor.installDeveloperPlugin("https://<documentserver>:<port>/<folder-name>/config.json")


Τα αρχεία άλλαξαν, αλλά παλιός κώδικας εκτελείται ακόμα – Διαδικτυακοί Επεξεργαστές
- Εάν αλλάξατε τοπικά αρχεία του πρόσθετού σας, θα χρειαστεί να ανανεώσετε τη σελίδα και την προσωρινή μνήμη (cache).
- Κάντε δεξί κλικ στο κουμπί ανανέωσης του φυλλομετρητή σας και επιλέξτε “Άδειασμα προσωρινής μνήμης και Πλήρης Ανανέωση”, έπειτα εκτελέστε ξανά το πρόσθετό σας.

Η αποτελεσματική αποσφαλμάτωση είναι ζωτικής σημασίας για την ανάπτυξη σταθερών και λειτουργικών πρόσθετων ONLYOFFICE. Χρησιμοποιώντας τις τεχνικές και τα εργαλεία που αναφέρονται, μπορείτε να εντοπίσετε και να επιλύσετε γρήγορα προβλήματα στον κώδικά σας, βελτιώνοντας έτσι την ποιότητα και την απόδοση των πρόσθετών σας.
Καλωσορίζουμε τις ερωτήσεις, τις προτάσεις και τις ιδέες σας για πρόσθετα. Αν θέλετε να μοιραστείτε τη δουλειά σας μαζί μας, μη διστάσετε να επικοινωνήσετε. Είμαστε ανοικτοί στη συνεργασία και χαρούμενοι να συνδεθούμε.
Δημιουργήστε τον δωρεάν λογαριασμό ONLYOFFICE σας
Online προβολή, επεξεργασία και συνεργασία σε έγγραφα, υπολογιστικά φύλλα, παρουσιάσεις, φόρμες και αρχεία PDF.


