Υπάρχει ένας σταθερός τρόπος για να ανιχνεύσετε αν ένας χρήστης χρησιμοποιεί ή όχι μια κινητή συσκευή στην jQuery; Κάτι παρόμοιο με το χαρακτηριστικό @media της CSS; Θα ήθελα να τρέξω ένα διαφορετικό σενάριο αν το πρόγραμμα περιήγησης είναι σε φορητή συσκευή.
Η συνάρτηση $.browser
της jQuery δεν είναι αυτό που ψάχνω.
Αυτό που κάνετε με το να θέλετε να ανιχνεύσετε μια κινητή συσκευή πλησιάζει πολύ κοντά στην έννοια "browser sniffing" ΙΜΟ. Θα ήταν μάλλον πολύ καλύτερο να κάνετε κάποια ανίχνευση χαρακτηριστικών. Βιβλιοθήκες όπως το http://www.modernizr.com/ μπορούν να βοηθήσουν σε αυτό.
Για παράδειγμα, πού είναι η γραμμή μεταξύ κινητής και μη κινητής συσκευής; Κάθε μέρα γίνεται όλο και πιο θολή.
Δεν είναι jQuery, αλλά βρήκα αυτό: http://detectmobilebrowser.com/
Παρέχει σενάρια για την ανίχνευση προγραμμάτων περιήγησης για κινητά τηλέφωνα σε διάφορες γλώσσες, μία από τις οποίες είναι η JavaScript. Αυτό μπορεί να σας βοηθήσει σε αυτό που ψάχνετε.
Ωστόσο, δεδομένου ότι χρησιμοποιείτε jQuery, ίσως θα πρέπει να γνωρίζετε τη συλλογή jQuery.support. Πρόκειται για μια συλλογή ιδιοτήτων για την ανίχνευση των δυνατοτήτων του τρέχοντος προγράμματος περιήγησης. Η τεκμηρίωση βρίσκεται εδώ: http://api.jquery.com/jQuery.support/
Δεδομένου ότι δεν γνωρίζω τι ακριβώς προσπαθείτε να πετύχετε, δεν ξέρω ποιο από αυτά θα είναι το πιο χρήσιμο.
Με όλα αυτά να λέγονται, νομίζω ότι το καλύτερο που έχετε να κάνετε είναι είτε να κάνετε ανακατεύθυνση είτε να γράψετε ένα διαφορετικό σενάριο στην έξοδο χρησιμοποιώντας μια γλώσσα από την πλευρά του διακομιστή (αν αυτό είναι μια επιλογή). Δεδομένου ότι δεν γνωρίζετε πραγματικά τις δυνατότητες ενός κινητού προγράμματος περιήγησης x, το να κάνετε την ανίχνευση και τη λογική τροποποίησης στην πλευρά του διακομιστή θα ήταν η πιο αξιόπιστη μέθοδος. Φυσικά, όλα αυτά είναι ένα αμφισβητούμενο θέμα αν δεν μπορείτε να χρησιμοποιήσετε μια γλώσσα από την πλευρά του διακομιστή :)
Αν δεν ανησυχείτε ιδιαίτερα για τις μικρές οθόνες, μπορείτε να χρησιμοποιήσετε ανίχνευση πλάτους/ύψους. Έτσι, αν το πλάτος είναι κάτω από ένα συγκεκριμένο μέγεθος, ο ιστότοπος για κινητά εμφανίζεται. Μπορεί να μην είναι ο τέλειος τρόπος, αλλά πιθανότατα θα είναι ο ευκολότερος τρόπος ανίχνευσης για πολλαπλές συσκευές. Ίσως χρειαστεί να βάλετε ένα συγκεκριμένο για το iPhone 4 (μεγάλη ανάλυση).