Πλαίσιο JavaScript

JavaScript Πλαίσιο

Η στρώση σεναρίων παρέχει ένα ελεγχόμενο JavaScript πλαίσιο αξιολόγησης για έγγραφα που το χρειάζονται. Είναι σκόπιμα καθοδηγούμενη από πολιτικές: η επίλυση μονάδων είναι ρητή, και οι αποτυχίες εμφανίζονται ως τυποποιημένες εξαιρέσεις.


Το Πλαίσιο Αξιολόγησης

JSContext φιλοξενεί την αξιολόγηση σεναρίου. Τα σφάλματα που προκύπτουν κατά την αξιολόγηση εμφανίζονται ως JSEvaluationError, διατηρώντας τις αποτυχίες σεναρίου ξεχωριστές από τα σφάλματα στην πλευρά του Python-side errors.

Φόρτωση Μονάδας

Η επίλυση μονάδων διέπεται από το ModuleRegistry, το οποίο αντιστοιχίζει τους προσδιοριστές μονάδων σε υλοποιήσεις. Οι ελλιπείς μονάδες προκαλούν ModuleNotFoundError (το δικό της τυποποιημένο σφάλμα της βιβλιοθήκης) αντί να επιστρέφουν σιωπηρά υποδείγματα.

Πολιτικές Φόρτωσης

ModuleLoadPolicy ελέγχει τι επιτρέπεται να φορτώσει ένα context — ο μηχανισμός απομόνωσης της συμπεριφοράς του script στην επεξεργασία από την πλευρά του διακομιστή, όπου η αυθαίρετη πρόσβαση σε μονάδες δεν επιθυμείται.


Συμβουλές και Καλύτερες Πρακτικές

  • Καταχωρίστε μόνο τις μονάδες που χρειάζεται το σενάριο επεξεργασίας σας· ένα μικρό μητρώο είναι η άκρη απομόνωσης.
  • Αντιμετωπίστε το JSEvaluationError ξεχωριστά από τις γενικές εξαιρέσεις για να διακρίνετε τα σφάλματα του script από τα σφάλματα της γραμμής επεξεργασίας.
  • Αντιμετωπίστε το ModuleNotFoundError ως σήμα πολιτικής, όχι ως μοιραία κατάσταση — συχνά σημαίνει ότι η είσοδος αναμένει ένα API του προγράμματος περιήγησης που έχετε επιλέξει να μην παρέχετε.

Κοινά Προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
ModuleNotFoundError κατά την αξιολόγησηΗ μονάδα δεν είναι εγγεγραμμένηΠροσθέστε το στο ModuleRegistry ή προσαρμόστε την πολιτική
Η αποτυχία του script καταρρέει τη γραμμή επεξεργασίαςJSEvaluationError δεν εντοπίστηκεΔιαχειριστείτε το στο όριο αξιολόγησης
Αναπάντεχη πρόσβαση μονάδαςΠολιτική υπερβολικά επιτρεπτικήΣφίξτε ModuleLoadPolicy

FAQ

Απαιτείται η αξιολόγηση του script για την ανάλυση;

Όχι — η ανάλυση, το CSSOM και η διάταξη λειτουργούν χωρίς κανένα πλαίσιο script.

Πώς ελέγχω τι scripts μπορούν να εισάγουν;

Μέσω του ModuleRegistry (τι που υπάρχει) και του ModuleLoadPolicy (τι που μπορεί να φορτωθεί).

Πώς εμφανίζονται τα σφάλματα script;

Ως εξαιρέσεις JSEvaluationError στην πλευρά του Python.


API Reference Περίληψη

Κλάση/ΜέθοδοςΠεριγραφή
JSContextJavaScript πλαίσιο αξιολόγησης
ModuleRegistryΚαταχωρητής προσδιοριστών μονάδων
ModuleLoadPolicyΈλεγχος πολιτικής φόρτωσης μονάδας
JSEvaluationErrorΑποτυχία αξιολόγησης script με τύπους
ModuleNotFoundErrorΑποτυχία τύπου λόγω έλλειψης μονάδας

Δείτε επίσης

 Ελληνικά