Προβολέας πλήρους οθόνης κωδικού StackExchange
Ένα ολοκληρωμένο σενάριο χρήστη που βελτιώνει την εμπειρία προβολής κώδικα σε τοποθεσίες StackExchange προσθέτοντας λειτουργία πλήρους οθόνης και αντιγραφής σε μπλοκ κώδικα.
## Χαρακτηριστικά
🔍 ** Προβολή κωδικού σε πλήρη οθόνη**
- Ανοίγει μπλοκ κώδικα σε μια ειδική νέα καρτέλα για την προβολή χωρίς απόσπαση
- Διατηρεί την αρχική σύνταξη επισημαίνοντας με ενισχυμένο σχήμα χρωμάτων
- Responsive σχεδιασμός που χρησιμοποιεί πλήρη οθόνη ακινήτων
- Καθαρή, μινιμαλιστική διεπαφή βελτιστοποιημένη για ανάγνωση κώδικα
📋 ** Αντιγραφή κωδικού με ένα κλικ**
- Αντιγράψτε οποιοδήποτε μπλοκ κώδικα στο πρόβλημα με ένα μόνο κλικ
- Οπτική ανατροφοδότηση επιβεβαιώνει την επιτυχή λειτουργία αντιγραφής
- Λειτουργεί απρόσκοπτα τόσο με την αρχική σελίδα όσο και με την προβολή πλήρους οθόνης
🎨 ** Επισημάνωση σύνταξης**
- Διατηρεί την αρχική επισημάνωση της σύνταξης StackExchange
- Βελτιωμένη επισήμανση σε λειτουργία πλήρους οθόνης χρησιμοποιώντας Highlight.js
- Αυτόματη ανίχνευση και διατήρηση γλώσσας
- GitHub-style χρωματικό σχήμα για βέλτιστη αναγνωσιμότητα
⌨️ ** Συντομεύσεις πληκτρολογίου**
- Escape: Κλείστε την καρτέλα πλήρους οθόνης
- Διαισθητικοί ελέγχοι για αποτελεσματική πλοήγηση
## Εγκατάσταση
- Εγκαταστήστε έναν διαχειριστή userscript (Tampermonkey, Greasemonkey, κλπ.)
- Εγκαταστήστε αυτό το σενάριο από το userscript
- Επισκεφθείτε οποιαδήποτε τοποθεσία StackExchange με μπλοκ κώδικα
- Κάντε το κουμπί πάνω από τα μπλοκ κώδικα για να δείτε τα νέα κουμπιά
## Χρήση
### Βασικές λειτουργίες
- Hover πάνω από οποιοδήποτε μπλοκ κώδικα για να αποκαλύψει τα κουμπιά ελέγχου
- Κάντε κλικ στο "Πλήρης οθόνη" για να ανοίξετε τον κώδικα σε μια νέα αφιερωμένη καρτέλα
- ** Κάντε κλικ στο "Αντιγραφή" ** για να αντιγράψετε τον κώδικα στο πρόγραμμα προβολής
- Πατήστε Escape στην καρτέλα πλήρους οθόνης για να κλείσετε
### Χαρακτηριστικά προβολής πλήρους οθόνης
- Γραμμή εργαλείων: Σταθερή θέση με τα κουμπιά Αντιγραφή και Κλείσιμο
- Συνταξική επισήμανση: Εφαρμόζεται αυτόματα με βάση την ανιχνευμένη γλώσσα
- Responsive Layout: Ο κώδικας γεμίζει τον διαθέσιμο χώρο οθόνης
- Πληκτρολόγιο πλοήγησης: υποστήριξη κλειδιού δράσης για γρήγορη έξοδο
## Υποστηριζόμενοι ιστότοποι
Το σενάριο λειτουργεί σε όλο το δίκτυο StackExchange:
### κύριες τοποθεσίες
- Stack Overflow - Όλες οι ερωτήσεις προγραμματισμού και παραδείγματα κώδικα
- Super User - Διαχείριση συστήματος και κωδικός χρήστη ισχύος
- Server Fault - Σενάρια διαχείρισης διακομιστή και δικτύου
- Ρωτήστε το Ubuntu - Γραμμή εντολών Ubuntu / Linux και διαμόρφωση
- Math Overflow - Μαθηματικός κώδικας και αλγόριθμοι
### Πρόσθετη κάλυψη
- Όλες οι υποτοποθεσίες του StackExchange (200+ κοινότητες)
- Meta sites για όλες τις υποστηριζόμενες πλατφόρμες
- Αναθεώρηση ουρών και αποτελέσματα αναζήτησης
- StackApps για παραδείγματα κώδικα που σχετίζονται με API
## Τεχνικές λεπτομέρειες
### Εφαρμογή
- Καθαρό JavaScript - Δεν υπάρχουν εξωτερικές εξαρτήσεις στην κύρια σελίδα
- Ενσωμάτωση CDN - Highlight.js φορτωμένο σε καρτέλες πλήρους οθόνης
- Μη επεμβατικό - Διατηρεί το αρχικό στυλ και τη λειτουργικότητα της σελίδας
- Βελτιστοποιημένη απόδοση - Ελάχιστος αντίκτυπος στους χρόνους φόρτωσης σελίδας
### Συμβατότητα προγράμματος περιήγησης
- Chrome/Chromium - Πλήρης υποστήριξη
- Firefox - Πλήρης υποστήριξη
- Safari - Πλήρης υποστήριξη
- Edge - Πλήρης υποστήριξη
- Mobile browsers - Βασική λειτουργικότητα
## Ασφάλεια
- MIT Licensed - Ανοιχτός κώδικας και ελεγχόμενος
- Καμία συλλογή δεδομένων - Λειτουργεί εξ ολοκλήρου από πλευράς πελάτη
- Έλεγχοι αναδυόμενων παραθύρων - Χαριτωμένος χειρισμός των αναδυόμενων παραθύρων
- Ασφαλής εκτέλεση - Καμία εξωτερική ένεση σεναρίου στις κύριες σελίδες
## Δομή κώδικα
### Κύρια συστατικά
JavaScript
// Βασικές λειτουργίες
addStyles() // Εισάγει CSS για κουμπιά και διάταξη
addButtons() // Δημιουργεί κουμπιά για μπλοκ κώδικα
openCodeInNewTab() // Δημιουργεί εμπειρία προβολής πλήρους οθόνης
copyToClipboard() // Διαχειρίζεται τη λειτουργία αντιγραφής κώδικα
### Αρχιτεκτονική CSS
- **Διαφανή τυλίγματα** - Μην παρεμβαίνετε στο αρχικό στυλ
- **Responsive design** - Προσαρμόζεται σε διαφορετικά μεγέθη οθόνης
- **Hover αλληλεπιδράσεις** - Καθαρή, διαισθητική εμπειρία χρήστη
- **Βελτιστοποίηση πλήρους οθόνης** - Μέγιστη αναγνωσιμότητα σε ειδική προβολή
### Διαχείριση γεγονότων
- **Load events** - Αρχικά μετά τη φόρτωση περιεχομένου σελίδας
- **Hover states** - Δείχνει/κρύβει κουμπιά ελέγχου
- **Διαχειριστές κλικ** - Διαχειρίζεται λειτουργίες πλήρους οθόνης και αντιγραφής
- **Εγεγονότα πληκτρολογίου** - Υποστήριξη πλήκτρων απόδρασης σε πλήρη οθόνη
## Προσαρμογή
### Επιλογές στυλ
Το σενάριο μπορεί να προσαρμοστεί τροποποιώντας μεταβλητές CSS:
CSS
/* Εμφάνιση κουμπιού */
.κουμπί {
χρώμα φόντου: #eee; /* Φόντο κουμπιού */
μέγεθος γραμματοσειράς: 12px; /* Μέγεθος κειμένου κουμπιού */
επικόλληση: 4px 8px /* Διαστάσεις κουμπιών */
}
/* Στυλ πλήρους οθόνης */
.toolbar κουμπί {
φόντο: #007acc; /* Χρώμα κουμπιού γραμμής εργαλείων */
χρώμα: λευκό· /* Χρώμα κειμένου γραμμής εργαλείων */
}
### Υποστήριξη γλώσσας
Η ανάδειξη σύνταξης υποστηρίζει 190+ γλώσσες προγραμματισμού, συμπεριλαμβανομένων:
- Web: JavaScript, TypeScript, HTML, CSS, SCSS
- Backend: Python, Java, C#, PHP, Ruby, Go, Rust
- Συστήματα: C, C++, Συνέλευση, Shell/Bash
- Δεδομένα: SQL, JSON, XML, YAML, CSV
- Λειτουργική: Haskell, Lisp, Erlang, F#
- Κινητό: Swift, Kotlin, Dart
- ** Και πολλά άλλα. ..**
## Ανάλυση προβλημάτων
### Κοινά θέματα
** Κουμπία που δεν εμφανίζονται **
- Βεβαιωθείτε ότι ο διαχειριστής userscript είναι ενεργοποιημένος
- Ελέγξτε εάν ο ιστότοπος είναι σε υποστηριζόμενα μοτίβα ταιριάσματος
- Ανανεώστε τη σελίδα μετά την εγκατάσταση
** Αναδυόμενο παράθυρο μπλοκαρίστηκε σε πλήρη οθόνη **
- Επιτρέψτε αναδυόμενα παράθυρα για τομείς StackExchange
- Ελέγξτε τις ρυθμίσεις αναδυόμενων παραθύρων του προγράμματος περιήγησης
- Δοκιμάστε να κάνετε κλικ απευθείας στο κουμπί (όχι κατά τη διάρκεια της μετάβασης με το hover)
** Η επισημασία σύνταξης δεν λειτουργεί **
- Ελέγξτε τη σύνδεση στο διαδίκτυο (εξάρτηση CDN σε πλήρη οθόνη)
- Επιβεβαιώστε ότι το μπλοκ κώδικα έχει την κατάλληλη τάξη γλώσσας
- Δοκιμάστε να ανανεώσετε την καρτέλα πλήρους οθόνης
** Αντιγραφή δεν λειτουργεί **
- Εξασφαλίστε τη σύνδεση HTTPS (απαίτηση API κλιπ-πίνακα)
- Ελέγξτε τα δικαιώματα του πρόγραμμα περιήγησης
Δοκιμάστε να χρησιμοποιήσετε το Ctrl + C ως backup
### Βελτιστοποίηση απόδοσης
- Το σενάριο φορτώνει ασύγχρονα για να αποφευχθεί η αποκλειστική απόδοση σελίδας
- Ελάχιστες τροποποιήσεις DOM διατηρούν την αρχική λειτουργικότητα
- Η ανάθεση εκδηλώσεων μειώνει το αποτύπωμα μνήμης
- Μεταφορές CSS βελτιστοποιημένες για ομαλές αλληλεπιδράσεις
## Άδεια
MIT License - Δωρεάν για προσωπική και εμπορική χρήση.
## Υποστήριξη
Για ζητήματα, αιτήματα χαρακτηριστικών ή συνεισφορές:
- Θέματα GitHub: Αναφορά σφαλμάτων και ζητήστε χαρακτηριστικά
- StackExchange Meta: Συζητήστε βελτιώσεις με την κοινότητα
- Σχόλια UserScript: Μοιραστείτε σχόλια και συμβουλές