Ανίχνευση συστήματος κεντρικού υπολογιστή στο πρόγραμμα περιήγησης
Εάν γράφετε μια Προοδευτική εφαρμογή Ιστού και θέλετε να προσδιορίσετε τι είδους σύστημα φιλοξενεί τον πράκτορα, ένα απλό API μπορεί να σας βοηθήσει.
Στοχεύω ρητά μόνο σύγχρονες εφαρμογές ιστού με τον κώδικα σε αυτό το άρθρο. Η ανίχνευση του λειτουργικού συστήματος ή της έκδοσης του προγράμματος περιήγησης ήταν εμφανώς εύθραυστη στο παρελθόν, επομένως τα νέα API που είναι διαθέσιμα στο "navigator" παρέχουν μια ισχυρή λύση για τέτοιες εργασίες, αλλά είναι διαθέσιμα μόνο σε σύγχρονα προγράμματα περιήγησης.
Έλεγχος της πλατφόρμας
Ο παρακάτω κώδικας σάς δείχνει πώς να προσδιορίζετε αξιόπιστα το περιβάλλον μέσω Javascript. Έχει πρόσβαση στον «πλοηγό», ένα αντικείμενο που είναι διαθέσιμο στο παράθυρο που παρέχει ένα ολόκληρο σύνολο API για τη σταδιακή βελτίωση της εφαρμογής Ιστού σας.
/**
* Retrieve the host platform in a
* best-effort way w/ normalized output.
*/
export function getAgentSystem(){
if(!("navigator" in window)){
return "unknown";
}
// Use the modern 'web hints' provied by
// 'userAgentData' if available, else use
// the deprecated 'platform' as fallback.
const platform = (navigator.userAgentData?.platform || navigator.platform)?.toLowerCase();
if(platform.startsWith("win")) return "windows";
if(platform.startsWith("mac")) return "macos";
if(platform.startsWith("linux")) return "linux";
return "unknown";
}
// Just to give you an idea, the following properites
// are options for the legacy 'navigator.platform':
//
// HP-UX
// Linux i686
// Linux armv7l
// Mac68K
// MacPPC
// MacIntel
// SunOS
// Win16
// Win32
// WebTV OS
Όπως μπορείτε να δείτε, η λογική για να προσδιορίσετε το είδος του συστήματος που φιλοξενεί την εφαρμογή σας είναι πολύ απλή και απαιτεί μόνο μερικές γραμμές κώδικα.
Παραδείγματα για περιπτώσεις χρήσης
Μια συνηθισμένη περίπτωση χρήσης για τον προσδιορισμό του λειτουργικού συστήματος του κεντρικού υπολογιστή είναι να παρέχετε διαφορετικά σορτς πληκτρολογίου και, στη συνέχεια, ετικέτες "kbd" στον κώδικά σας. Για παράδειγμα, το macOS χρησιμοποιεί το πλήκτρο "Command", ενώ τα Windows και το Linux χρησιμοποιούν το πλήκτρο "Control" για πολλές συντομεύσεις.
Θα μπορούσατε επίσης να αλλάξετε το στυλ της διεπαφής χρήστη σας για να ευθυγραμμιστεί καλύτερα με την εγγενή διεπαφή χρήστη από το κεντρικό σύστημα, απλώς για να αναφέρουμε ένα άλλο παράδειγμα.