Σπίτι - Ρύθμιση του δρομολογητή
Τοποθέτηση πλαισίου. Δημιουργία πλαισίων

Περιοχές εφαρμογής κουφωμάτων

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

Η επιλογή μιας δομής πλαισίου για την εμφάνιση πληροφοριών στο WWW δικαιολογείται στις ακόλουθες περιπτώσεις:

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

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

Ας εξετάσουμε πρώτα τυπικές χρήσεις πλαισίων χρησιμοποιώντας παραδείγματα πραγματικών εγγράφων HTML και, στη συνέχεια, ας στραφούμε στους κανόνες για την ανάπτυξη εγγράφων που περιέχουν πλαίσια.

Στο Σχ. Το σχήμα 5.1 δείχνει μία από τις σελίδες HTML του πρακτορείου Finmarket, το οποίο ειδικεύεται στην παροχή πληροφοριών από τις χρηματοοικονομικές και χρηματιστηριακές αγορές της Ρωσίας.

Ρύζι. 5.1.Ένα τυπικό έγγραφο Ιστού με δομή πλαισίου

Αυτή η σελίδα χωρίζει το παράθυρο του προγράμματος περιήγησης σε τρία πλαίσια. Το κάτω μέρος του παραθύρου καταλαμβάνει το 20% του ύψους ολόκληρου του παραθύρου και περιέχει μόνιμες πληροφορίες, οι οποίες σε αυτήν την περίπτωση είναι ένα γραφικό μενού που σας επιτρέπει να έχετε πρόσβαση στις πιο σημαντικές ενότητες ανά πάσα στιγμή. Αυτό το πλαίσιο δεν μπορεί να αλλάξει το μέγεθός του με βάση τις εντολές του χρήστη και δεν έχει γραμμές κύλισης. Το πάνω μέρος του παραθύρου (που είναι το 80% του ύψους) χωρίζεται οριζόντια σε δύο πλαίσια. Το αριστερό πλαίσιο περιέχει τον πίνακα περιεχομένων των εγγράφων που μπορεί να δει ο χρήστης. Το δεξί πλαίσιο, το οποίο καταλαμβάνει το μεγαλύτερο μέρος του παραθύρου προβολής, προορίζεται για την εμφάνιση των ίδιων των εγγράφων. Όταν φορτωθούν αρχικά, αυτά τα δύο πλαίσια χωρίζουν το παράθυρο του προγράμματος περιήγησης οριζόντια σε αναλογία 15% προς 85%. Αυτή η αναλογία μπορεί να αλλάξει από τον χρήστη κατά την προβολή, γεγονός που σας επιτρέπει να επιλέξετε τα βέλτιστα μεγέθη καρέ λαμβάνοντας υπόψη το περιεχόμενο των φορτωμένων εγγράφων. Κάθε ένα από αυτά τα πλαίσια έχει τη δική του γραμμή κύλισης, επιτρέποντάς σας να προβάλλετε ολόκληρο το περιεχόμενο του πλαισίου, ανεξάρτητα από το μέγεθος του ίδιου του πλαισίου, ολόκληρο το παράθυρο του προγράμματος περιήγησης ή τις γραμματοσειρές που χρησιμοποιούνται. Όταν επιλέγετε οποιοδήποτε σύνδεσμο στο αριστερό πλαίσιο, το αντίστοιχο έγγραφο θα φορτωθεί στο δεξί πλαίσιο. Αυτή η δομή σάς επιτρέπει να βλέπετε ταυτόχρονα στην οθόνη τόσο τον πίνακα περιεχομένων των εγγράφων όσο και τα περιεχόμενα του επιλεγμένου εγγράφου.

Εδώ, χωρίς εξήγηση, είναι ένα τμήμα του κώδικα HTML που χρησιμοποιείται για τη δημιουργία ενός εγγράφου με αυτήν τη δομή:

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

Μπορείτε να το βρείτε στο Διαδίκτυο ιστοσελίδα της ηλεκτρονικής έκδοσης του δημοφιλούς καταλόγου διευθύνσεων και τηλεφώνου «All Petersburg» στην Αγία Πετρούπολη.

Η ηλεκτρονική έκδοση του καταλόγου είναι διαθέσιμη στη διεύθυνση http://www.allpetersburg.ruκαι σας επιτρέπει να βρείτε τις απαραίτητες πληροφορίες με βάση τα αιτήματα των χρηστών. Αυτή η σελίδα εγγράφου έχει επίσης μια δομή πλαισίου και αποτελείται από δύο πλαίσια, το πρώτο εκ των οποίων έχει πλάτος 100 pixel και το δεύτερο καταλαμβάνει όλο το υπόλοιπο πλάτος της θύρας προβολής. Το πλαίσιο που βρίσκεται στην αριστερή πλευρά χρησιμοποιείται για ένα γραφικό μενού που υπάρχει συνεχώς στην οθόνη και περιέχει επίσης το λογότυπο της εταιρείας Nevalink. Το δεύτερο πλαίσιο περιέχει το έγγραφο, το οποίο στην περίπτωση αυτή είναι μια φόρμα αιτήματος χρήστη. Η δομή αυτής της σελίδας ορίζεται από τον ακόλουθο κώδικα HTML:

Τα πλαίσια μοιάζουν πολύ με τους πίνακες - και τα δύο χωρίζουν το παράθυρο του προγράμματος περιήγησης σε ορθογώνιες περιοχές στις οποίες βρίσκονται ορισμένες πληροφορίες. Ωστόσο, με τη βοήθεια πλαισίων, μπορείτε να λύσετε όχι μόνο το πρόβλημα της μορφοποίησης σελίδων εγγράφων, αλλά και να οργανώσετε την αλληλεπίδραση μεταξύ τους. Η θεμελιώδης διαφορά μεταξύ πλαισίων και πινάκων είναι ότι κάθε πλαίσιο πρέπει να έχει το δικό του ξεχωριστό έγγραφο HTML, αλλά τα περιεχόμενα όλων των κελιών του πίνακα αποτελούν πάντα μέρος του ίδιου εγγράφου. Επιπλέον, η σελίδα που εμφανίζεται στο πλαίσιο μπορεί να πραγματοποιήσει κύλιση όταν προβάλλεται ανεξάρτητα από τις άλλες. Κάθε καρέ είναι ουσιαστικά ένα ξεχωριστό «mini-browser». Σε αντίθεση με τα πλαίσια, των οποίων ολόκληρη η δομή εμφανίζεται πάντα στην οθόνη, οι πίνακες μπορεί να μην χωρούν πλήρως στο παράθυρο και να προβάλλονται μόνο σε μέρη. Επομένως, εάν στους πίνακες HTML ο συνολικός αριθμός κελιών είναι πρακτικά απεριόριστος και μπορεί να φτάσει αρκετές εκατοντάδες, τότε ο αριθμός των πλαισίων σε ένα έγγραφο συνήθως δεν υπερβαίνει πολλές μονάδες.

Συμβουλή

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

Τελικά, η επιλογή της δομής του εγγράφου - πίνακα ή πλαίσιο - εξαρτάται από πολλούς παράγοντες και δεν μπορεί να προκαθοριστεί με σαφήνεια.

Υπάρχουν επίσηςσελίδες που φαίνεται να είναι κατασκευασμένες παρόμοια με τις προηγούμενες. Για παράδειγμα, μπορείτε να πάρετεσελίδα μιας πολύ δημοφιλής παγκοσμίως συλλογής προϊόντων λογισμικού που έχουν σχεδιαστεί κυρίως για εργασία με το Διαδίκτυο. Διεύθυνση διακομιστή http://www.tucows.com. Σημειώστε ότι το όνομα του διακομιστή καθορίστηκε από μια συντομογραφία που προέρχεται από τη συντομογραφία του πλήρους ονόματος της συλλογής - The Ultimate Collection of Winsock Software. Δεδομένου ότι η συντομογραφία tucows αποδείχθηκε ότι ήταν σύμφωνη με τη φράση δύο αγελάδες (δύο αγελάδες), οι σελίδες διακομιστή περιέχουν συχνά εικόνες αγελάδων και η βαθμολογία των προϊόντων λογισμικού υπολογίζεται στον αριθμό των mooings ("Moo") και απεικονίζεται γραφικά ως σειρά από τον αντίστοιχο αριθμό αγελάδων. Οι περισσότερες σελίδες διακομιστή έχουν κατασκευαστεί με τον ίδιο τρόπο - στην αριστερή πλευρά του παραθύρου υπάρχει μια λίστα με τις διαθέσιμες ενότητες και στη δεξιά πλευρά υπάρχει μια λίστα προϊόντων λογισμικού για την επιλεγμένη ενότητα. Με την πρώτη ματιά, η δομή του εγγράφου θα πρέπει να μοιάζει περίπου με τα προηγούμενα παραδείγματα. Ωστόσο, αυτό το έγγραφο δεν χρησιμοποιεί πλαίσια! Αυτή η σελίδα δημιουργείται χρησιμοποιώντας έναν πίνακα που αποτελείται από μία μόνο σειρά με δύο κελιά. Ο πίνακας δεν έχει πλαίσιο και εξυπηρετεί μόνο το σκοπό της μορφοποίησης της σελίδας. Η εντύπωση ότι η οθόνη χωρίζεται κατακόρυφα στα δύο δημιουργείται χρησιμοποιώντας ένα γραφικό φόντου που περιέχει μια κάθετη γραμμή αντί για ένα πλέγμα πίνακα. Μπορείτε να το επαληθεύσετε προβάλλοντας τη σελίδα χωρίς να φορτώσετε εικόνες. Η χρήση πίνακα εδώ οφείλεται προφανώς σε λόγους μεγαλύτερης προσβασιμότητας των εγγράφων, καθώς τα πλαίσια δεν επιτρέπουν την εμφάνιση σε όλα τα προγράμματα περιήγησης.

Το μειονέκτημα αυτής της προσέγγισης σε αυτήν την περίπτωση είναι η ανάγκη επανάληψης ολόκληρης της λίστας των ενοτήτων (αριστερή πλευρά της σελίδας) σε κάθε έγγραφο, γεγονός που αυξάνει ελαφρώς το μέγεθος του αρχείου.

Η σύγκριση των παραπάνω παραδειγμάτων δείχνει ότι η χρήση πινάκων και πλαισίων μπορεί μερικές φορές να είναι εναλλάξιμα και να καθορίζεται από τις επιθυμίες των προγραμματιστών. Σημειώστε ότι συχνά, όταν κοιτάζετε μια σελίδα με ένα έγγραφο που εμφανίζεται σε αυτήν, είναι αδύνατο να προσδιορίσετε τον τρόπο κατασκευής της. Ο τελικός χρήστης δεν χρειάζεται να γνωρίζει την εσωτερική δομή του εγγράφου, αλλά κατά την ανάπτυξη των δικών του ιστοσελίδων, η εξοικείωση με τον πηγαίο κώδικα των υπαρχόντων εγγράφων θα ήταν εξαιρετικά χρήσιμη. Στο πρώτο παράδειγμα (βλ. Εικ. 5.1), η δομή του πλαισίου του εγγράφου είναι αμέσως ορατή - η παρουσία δύο κάθετων γραμμών κύλισης καθορίζει ήδη την παρουσία μεμονωμένων πλαισίων. Τα ακόλουθα δύο παραδείγματα είναι πολύ παρόμοια στην εμφάνιση και είναι αδύνατο να προσδιοριστεί ότι το πρώτο από αυτά είναι κατασκευασμένο με πλαίσια και το δεύτερο - χρησιμοποιώντας πίνακες. Οι διαφορές θα εμφανίζονται μόνο όταν εργάζεστε μαζί τους. Στο παράδειγμα ενός τηλεφωνικού καταλόγου, κατά την κύλιση ενός εγγράφου, το αριστερό μέρος του παραθύρου θα παραμείνει στη θέση του, κάτι που είναι δυνατό μόνο εάν υπάρχει δομή πλαισίου. Στο ακόλουθο παράδειγμα (μια συλλογή προϊόντων λογισμικού), η κύλιση θα μετατοπίσει ολόκληρο το περιεχόμενο του παραθύρου.

Μπορείτε να προβάλετε τη δομή του εγγράφου όταν εργάζεστε με το πρόγραμμα περιήγησης Netscape χρησιμοποιώντας το στοιχείο Page Info (στις εκδόσεις 3.x του προγράμματος περιήγησης Netscape αυτό το στοιχείο μενού ονομαζόταν Document Info) του μενού Προβολή (Εικ. 5.2).

Ρύζι. 5. 2 . Μενού προβολής προγράμματος περιήγησης Netscape

Επιπλέον, μπορείτε πάντα να προβάλετε τον πηγαίο κώδικα HTML ολόκληρου του εγγράφου χρησιμοποιώντας το στοιχείο Προέλευση σελίδας του μενού Προβολή (ή το στοιχείο Προέλευση πλαισίου του μενού περιβάλλοντος, κάντε δεξί κλικ για να προβάλετε τον κώδικα HTML του εγγράφου που έχει φορτωθεί στο επιλεγμένο πλαίσιο).

Συμβουλή

Δεν πρέπει να κάνετε άσκοπη κατάχρηση της χρήσης κουφωμάτων και ο αριθμός τους δεν πρέπει να ξεπερνά τα τρία ή τέσσερα.

Συχνά σε πραγματικές σελίδες στο Διαδίκτυο μπορείτε να δείτε τις ακόλουθες περιπτώσεις χρήσης πλαισίων:Δύο γειτονικά πλαίσια χρησιμοποιούνται για τη φόρτωση εγγράφων που είναι βολικό να προβάλλονται ταυτόχρονα και να συγκρίνονται μεταξύ τους. Κάθε ένα από τα δύο έγγραφα που φορτώνονται σε πλαίσια χρησιμοποιεί μια φόρμα πίνακα για την παρουσίαση πληροφοριών. Ως αποτέλεσμα αυτής της οργάνωσης δεδομένων, καθένας από τους δύο πίνακες μπορεί να προβληθεί (ή να εκτυπωθεί) χωριστά ή να μελετηθεί σε σύγκριση με τον άλλο.

Όλα τα παραδείγματα που δίνονται σε αυτήν την ενότητα προέρχονται από τις σελίδες δημοφιλών διακομιστών WWW και, ίσως, μπορούν να χρησιμεύσουν ως παραδείγματα χρήσης πλαισίων σε έγγραφα HTML.

Οι επόμενες ενότητες αυτού του κεφαλαίου καλύπτουν κανόνες για τη σύνταξη εγγράφων που περιέχουν πλαίσια.

Κανόνες για την περιγραφή των πλαισίων

Ας προχωρήσουμε τώρα στην εξέταση των κανόνων για τη σύνταξη ετικετών που χρησιμοποιούνται για έγγραφα με δομές πλαισίου.

Ας δούμε πρώτα τον πλήρη κώδικα HTML που δημιουργεί ένα έγγραφο με πλαίσια μεσαίας πολυπλοκότητας:

</p> <p>

Αυτό το παράδειγμα δημιουργεί τη σελίδα με πλαίσιο που φαίνεται στην Εικόνα. 5.3. Όπως μπορείτε να δείτε, αυτός ο κώδικας HTML ορίζει τέσσερα πλαίσια. Το επάνω πλαίσιο εκτείνεται σε όλο το πλάτος της σελίδας και περιέχει την επικεφαλίδα. Ακολουθούν δύο κεντρικά καρέ, το ένα από τα οποία βρίσκεται στην αριστερή πλευρά και καταλαμβάνει το 25 τοις εκατό του πλάτους της οθόνης και το δεύτερο καταλαμβάνει τον υπόλοιπο χώρο. Το τελευταίο, τέταρτο καρέ καταλαμβάνει το κάτω τέταρτο της οθόνης. Ένα ξεχωριστό έγγραφο HTML φορτώνεται σε κάθε πλαίσιο, το όνομα του οποίου καθορίζεται από την παράμετρο SRC.

Όπως φαίνεται από το παράδειγμα, οι ετικέτες χρησιμοποιούνται για να περιγράψουν τη δομή των πλαισίων , Και . Ας δούμε τον σκοπό αυτών των ετικετών.</p> <span> <br><img src='https://i1.wp.com/webnav.ru/books/html4/frames/07.gif' width="100%" loading=lazy loading=lazy></span> <p><i><b>Ρύζι. 5. <span>3 . </b>Το αποτέλεσμα του προγράμματος περιήγησης Netscape που εμφανίζει το έγγραφο HTML με πλαίσια που εμφανίζονται στο παράδειγμα</span> </i></p> <p><b>Ετικέτα <FRAMESET> </b></p> <p>Τα πλαίσια ορίζονται σε μια δομή που ονομάζεται FRAMESET, η οποία χρησιμοποιείται για σελίδες που περιέχουν πλαίσια, αντί για την ενότητα BODY ενός κανονικού εγγράφου. Οι ιστοσελίδες που αποτελούνται από πλαίσια δεν μπορούν να περιέχουν μια ενότητα BODY στον κώδικα HTML τους. Με τη σειρά τους, οι σελίδες με ενότητα BODY δεν μπορούν να χρησιμοποιούν πλαίσια.</p> <p><i><b>Συμβουλή</b> </i></p> <p><i> <span>Δεδομένου ότι οι σελίδες με πλαίσιο δεν έχουν ενότητα BODY, δεν υπάρχει τρόπος να ορίσετε μια εικόνα φόντου και ένα χρώμα φόντου για ολόκληρη τη σελίδα. Θυμηθείτε ότι αυτές οι ρυθμίσεις καθορίζονται από τις παραμέτρους BACKGROUND και BGCOLOR που είναι γραμμένες στην ετικέτα BODY. Ωστόσο, αυτό δεν σας εμποδίζει να φορτώνετε έγγραφα με τις δικές τους ρυθμίσεις φόντου σε κάθε πλαίσιο.</span> </i></p> <p>Δοχείο ετικετών <FRAMESET>Και</FRAMESET>πλαισιώνει κάθε μπλοκ ορισμού πλαισίου. Μέσα στο δοχείο <FRAMESET>μπορεί να περιέχει μόνο ετικέτες <FRAME>και ένθετες ετικέτες <FRAMESET>. </p> <p>Ετικέτα <FRAMESET>έχει δύο παραμέτρους: ROWS (γραμμές) και COLS (στήλες) και γράφεται ως εξής:</p> <p><FRAMESET ROWS="список_ значений" COLS="список_ значений">. </p> <p><i><b>Σημείωση</b> </i></p> <p><i> <span>Ορισμένα προγράμματα περιήγησης επιτρέπουν πρόσθετες παραμέτρους ετικετών <FRAMESET></span> </i></p> <p>Μπορείτε να ορίσετε τιμές για ROWS ή COLS ή και για τα δύο. Είναι απαραίτητο να ορίσετε τουλάχιστον δύο τιμές για τουλάχιστον μία από αυτές τις παραμέτρους. Εάν παραλειφθεί μια άλλη παράμετρος, η τιμή της θεωρείται ότι είναι 100%.</p> <p><i><b>Συμβουλή</b> </i></p> <p><i> <span>Αν σε ετικέτα <FRAMESET>Εάν οριστεί μόνο μία τιμή για ROWS και COLS, τότε αυτή η ετικέτα θα θεωρηθεί άκυρη και το πρόγραμμα περιήγησης θα την αγνοήσει. Με άλλα λόγια, είναι αδύνατο να προσδιοριστεί <FRAMESET>, που αποτελείται από ένα μόνο πλαίσιο.</span> </i></p> <p>Λίστα τιμών παραμέτρων της ετικέτας ROWS και COLS <FRAMESET>είναι μια λίστα τιμών διαχωρισμένων με κόμματα που μπορούν να καθοριστούν σε εικονοστοιχεία, ποσοστά ή σχετικές μονάδες. Ο αριθμός των γραμμών ή στηλών καθορίζεται από τον αριθμό των τιμών στην αντίστοιχη λίστα. Για παράδειγμα, εγγραφή</p> <p><FRAMESET ROWS="100,240,140"> </p> <p>ορίζει ένα σύνολο τριών πλαισίων. Αυτές οι τιμές είναι απόλυτες τιμές pixel. Με άλλα λόγια, το πρώτο καρέ (πρώτη σειρά) έχει ύψος 100 pixel, το δεύτερο είναι 240 pixel και το τελευταίο έχει ύψος 140 pixel.</p> <p>Η ρύθμιση των τιμών μεγέθους πλαισίου σε pixel δεν είναι πολύ βολική. Αυτό δεν λαμβάνει υπόψη το γεγονός ότι τα προγράμματα περιήγησης εκτελούνται σε διαφορετικά λειτουργικά συστήματα και με διαφορετικές αναλύσεις οθόνης. Ταυτόχρονα, είναι δυνατό να οριστούν τιμές απόλυτου μεγέθους για ορισμένες περιπτώσεις, για παράδειγμα, για να εμφανιστεί μια μικρή εικόνα με γνωστές διαστάσεις. Η καλύτερη επιλογή θα ήταν να ορίσετε τις τιμές σε ποσοστά ή σχετικές μονάδες, για παράδειγμα:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>Αυτό το παράδειγμα δημιουργεί τρία πλαίσια που τοποθετούνται ως σειρές σε όλο το πλάτος της οθόνης. Η επάνω σειρά θα καταλαμβάνει το 25 τοις εκατό του διαθέσιμου ύψους οθόνης, η μεσαία σειρά θα καταλαμβάνει το 50 τοις εκατό και η κάτω σειρά θα καταλαμβάνει το 25 τοις εκατό. Εάν το άθροισμα των καθορισμένων ποσοστών δεν ισούται με 100%, τότε οι τιμές θα κλιμακωθούν αναλογικά έτσι ώστε το αποτέλεσμα να είναι ακριβώς 100%.</p> <p>Οι τιμές σε σχετικές μονάδες είναι οι εξής:</p> <p><FRAMESET COLS="*,2*,3*">. </p> <p>Ένας αστερίσκος (*) χρησιμοποιείται για τη διαίρεση του χώρου αναλογικά. Κάθε αστέρι αντιπροσωπεύει ένα μέρος του συνόλου. Προσθέτοντας όλες τις τιμές των αριθμών δίπλα στους αστερίσκους (αν παραλείπεται ένας αριθμός, τότε θεωρείται ένας), παίρνουμε τον παρονομαστή του κλάσματος. Σε αυτό το παράδειγμα, η πρώτη στήλη θα καταλαμβάνει το 1/6 του συνολικού πλάτους του παραθύρου, η δεύτερη στήλη θα καταλαμβάνει τα 2/6 (ή το 1/3) και η τελευταία θα καταλαμβάνει το 3/6 (ή το 1/ 2).</p> <p>Θυμηθείτε ότι μια αριθμητική τιμή χωρίς χαρακτήρες καθορίζει τον απόλυτο αριθμό pixel για μια γραμμή ή στήλη. Μια τιμή με σύμβολο ποσοστού (%) καθορίζει την αναλογία του συνολικού πλάτους (για COLS) ή του ύψους (για ROWS) της θύρας προβολής και μια τιμή με έναν αστερίσκο (*) καθορίζει την αναλογική κατανομή του υπολειπόμενου χώρου.</p> <p>Ακολουθεί ένα παράδειγμα που χρησιμοποιεί και τις τρεις επιλογές για τον ορισμό τιμών:</p> <p><FRAMESET COLS="100,25%,*,2*">. </p> <p>Σε αυτό το παράδειγμα, η πρώτη στήλη θα έχει πλάτος 100 pixel. Η δεύτερη στήλη θα καταλαμβάνει το 25 τοις εκατό ολόκληρου του πλάτους της θύρας προβολής, η τρίτη στήλη θα καταλαμβάνει το 1/3 του υπολειπόμενου χώρου και, τέλος, η τελευταία στήλη θα καταλαμβάνει τα 2/3. Συνιστάται να αντιστοιχίσετε απόλυτες τιμές πρώτα με σειρά από αριστερά προς τα δεξιά. Ακολουθούν ποσοστά του συνολικού μεγέθους του χώρου. Τέλος, καταγράφονται τιμές που καθορίζουν την αναλογική διαίρεση του υπολειπόμενου χώρου.</p> <p><i><b>Συμβουλή</b> </i></p> <p><i> <span>Εάν χρησιμοποιείτε απόλυτες τιμές COLS ή ROWS, διατηρήστε τις μικρές ώστε να χωρούν σε οποιοδήποτε παράθυρο του προγράμματος περιήγησης και συμπληρώστε τις με τουλάχιστον ένα ποσοστό ή σχετική τιμή για να γεμίσετε τον υπόλοιπο χώρο.</span> </i></p> <p>Εάν χρησιμοποιείται η ετικέτα <FRAMESET>, στο οποίο καθορίζονται και COLS και ROWS, θα δημιουργηθεί ένα πλέγμα πλαισίων. Για παράδειγμα:</p> <p><FRAMESET ROWS="*,2*,*" COLS="2*,*"> </p> <p>Αυτή η γραμμή κώδικα HTML δημιουργεί ένα πλέγμα πλαισίων με τρεις σειρές και δύο στήλες. Η πρώτη και η τελευταία γραμμή καταλαμβάνουν το 1/4 του ύψους η καθεμία και η μεσαία γραμμή καταλαμβάνει το μισό. Η πρώτη στήλη καταλαμβάνει τα 2/3 του πλάτους και η δεύτερη - το 1/3.</p> <p>Δοχείο <FRAMESET> </FRAMESET>μπορεί να τοποθετηθεί μέσα σε άλλο παρόμοιο δοχείο, όπως φαίνεται στο αρχικό παράδειγμα. Ας εξετάσουμε περαιτέρω τη χρήση της ετικέτας <FRAME>. </p> <p><i><b>Σημείωση</b> </i></p> <p><i> <span>Ορισμένες πηγές στη γλώσσα HTML υποδεικνύουν ότι οι παράμετροι COLS και ROWS της ετικέτας <FRAMESET>αλληλοαποκλείονται. Ωστόσο, τόσο το Netscape όσο και ο Microsoft Internet Explorer επιτρέπουν τη συνδυασμένη χρήση τους.</span> </i></p> <p><b>Ετικέτα <FRAME> </b></p> <p>Ετικέτα <FRAME>ορίζει ένα ενιαίο πλαίσιο. Πρέπει να βρίσκεται μέσα σε ένα ζευγάρι ετικετών <FRAMESET>Και</FRAMESET>. Για παράδειγμα:</p> <p><FRAMESET ROWS="*,2*"> </p> <p><FRAME> </p> <p><FRAME> </p> <p></FRAMESET> </p> <p>Σημειώστε ότι η ετικέτα <FRAME>δεν είναι δοχείο και σε αντίθεση <FRAMESET>δεν έχει ετικέτα τέλους. Ολόκληρος ο ορισμός ενός μεμονωμένου πλαισίου γίνεται με μία γραμμή κώδικα HTML.</p> <p>Υπάρχουν τόσες πολλές ετικέτες για εγγραφή <FRAME>πόσα μεμονωμένα πλαίσια ορίζονται κατά τον καθορισμό της ετικέτας <FRAMESET>. Στο προηγούμενο παράδειγμα, η ετικέτα <FRAMESET>δόθηκαν δύο συμβολοσειρές, οπότε χρειάστηκε να γραφτούν δύο ετικέτες <FRAME>. Ωστόσο, αυτό το παράδειγμα είναι ουσιαστικά άχρηστο, αφού κανένα από τα πλαίσια δεν έχει περιεχόμενο!</p> <p>Ετικέτα <FRAME>έχει έξι παραμέτρους: SRC, NAME, MARGINWIDTH, MARGINHEIGHT, SCROLLING και NORESIZE.</p> <p><i><b>Σημείωση</b> </i></p> <p><i> <span>Ορισμένα προγράμματα περιήγησης σάς επιτρέπουν να χρησιμοποιήσετε έναν αριθμό πρόσθετων παραμέτρων ετικέτας <FRAME>. Μια επισκόπηση των δυνατοτήτων των προγραμμάτων περιήγησης Netscape και Microsoft Internet Explorer δίνεται στο τέλος του κεφαλαίου.</span> </i></p> <p>Εδώ είναι η καταχώριση ετικέτας: <FRAME>με όλες τις παραμέτρους:</p> <p><FRAME SRC="url" NAME="window_name" SCROLLING=YES|NO|AUTO </p> <p>MARGINWIDTH="value" MARGINHEIGHT="value" NORESIZE></p> <p>Στην πράξη στην ετικέτα <FRAME>Σπάνια χρησιμοποιούνται όλες οι παράμετροι ταυτόχρονα.</p> <p>Η πιο σημαντική παράμετρος είναι το SRC (συντομογραφία για την πηγή). Αρκετά συχνά στην ετικέτα <FRAME>καθορίζεται μία παράμετρος SRC. Για παράδειγμα:</p> <p><FRAME SRC="url">. </p> <p>Η τιμή της παραμέτρου SRC καθορίζει τη διεύθυνση URL του εγγράφου που θα φορτωθεί αρχικά σε αυτό το πλαίσιο. Συνήθως, αυτή η διεύθυνση είναι το όνομα ενός αρχείου HTML που βρίσκεται στον ίδιο κατάλογο με το κύριο έγγραφο. Στη συνέχεια, η γραμμή ορισμού πλαισίου θα φαίνεται, για παράδειγμα, ως εξής:</p> <p><FRAME SRC="sample.htm">. </p> <p>Σημειώστε ότι οποιοδήποτε αρχείο HTML που καθορίζεται στον ορισμό του πλαισίου πρέπει να είναι ένα πλήρες έγγραφο HTML, όχι ένα τμήμα. Αυτό σημαίνει ότι το έγγραφο πρέπει να έχει ετικέτες HTML, HEAD, BODY κ.λπ.</p> <p>Φυσικά, η τιμή SRC μπορεί να είναι οποιαδήποτε έγκυρη διεύθυνση URL. Εάν, για παράδειγμα, το πλαίσιο χρησιμοποιείται για την εμφάνιση μιας εικόνας GIF που βρίσκεται στον διακομιστή του εκδότη αυτού του βιβλίου, τότε θα πρέπει να γράψετε:</p> <p><FRAME SRC="http://www.bhv.ru/example.gif">. </p> <p><i><b>Συμβουλή</b> </i></p> <p><i> <span>Μην συμπεριλάβετε περιεχόμενο στο έγγραφο που περιγράφει τη δομή του πλαισίου.</span> </i></p> <p>Το απλό κείμενο, οι επικεφαλίδες, τα γραφικά και άλλα στοιχεία δεν μπορούν να χρησιμοποιηθούν απευθείας σε ένα έγγραφο που περιγράφει μια δομή πλαισίου. Όλα τα περιεχόμενα των πλαισίων πρέπει να ορίζονται σε ξεχωριστά αρχεία HTML, τα ονόματα των οποίων καθορίζονται από την παράμετρο SRC της ετικέτας <FRAME>. </p> <p>Η παράμετρος NAME καθορίζει ένα όνομα πλαισίου που μπορεί να χρησιμοποιηθεί για αναφορά σε αυτό το πλαίσιο. Συνήθως ο σύνδεσμος ορίζεται από άλλο πλαίσιο που βρίσκεται στην ίδια σελίδα. Για παράδειγμα:</p> <p><FRAME SRC="sample.htm" NAME="Frame_1">. </p> <p>Αυτή η καταχώρηση δημιουργεί ένα πλαίσιο με το όνομα "Frame_1" στο οποίο μπορεί να γίνει αναφορά. Για παράδειγμα:</p> <p>Κάντε κλικ εδώ για να κατεβάσετε</p> <p>τεκμηριώστε το other.htm σε ένα πλαίσιο που ονομάζεται Frame_1.</p> <p>Σημειώστε την παράμετρο TARGET, η οποία αναφέρεται στο όνομα του πλαισίου. Εάν δεν δοθεί όνομα σε ένα πλαίσιο, θα δημιουργηθεί ένα πλαίσιο χωρίς όνομα και δεν θα είναι δυνατή η αναφορά του από άλλο πλαίσιο. Τα ονόματα πλαισίων πρέπει να ξεκινούν με αλφαριθμητικό χαρακτήρα.</p> <p>Οι παράμετροι MARGINWIDTH και MARGINHEIGHT σάς επιτρέπουν να ορίσετε το πλάτος των περιθωρίων του πλαισίου. Αυτό γράφεται ως εξής:</p> <p>MARGINWIDTH="τιμή",</p> <p>όπου "τιμή" είναι η απόλυτη τιμή σε pixel. Για παράδειγμα:</p> <p>Αυτό το πλαίσιο έχει περιθώρια στο επάνω και στο κάτω μέρος των 5 pixel, και στα αριστερά και στα δεξιά - 7 pixel. Να θυμάστε ότι εδώ μιλάμε για περιθώρια, όχι για σύνορα. Οι παράμετροι MARGINWIDTH και MARGINHEIGHT ορίζουν τον χώρο εντός του πλαισίου εντός του οποίου δεν θα βρίσκονται πληροφορίες. Η ελάχιστη αποδεκτή τιμή για αυτές τις παραμέτρους είναι μία.</p> <p>Τα καρέ θα δημιουργήσουν και θα εμφανίσουν αυτόματα γραμμές κύλισης εάν τα περιεχόμενα του πλαισίου δεν χωρούν εξ ολοκλήρου στον εκχωρημένο χώρο. Μερικές φορές αυτό σπάει τη σχεδίαση της σελίδας, επομένως θα ήταν βολικό να μπορείτε να ελέγξετε την εμφάνιση των γραμμών κύλισης. Η παράμετρος SCROLLING χρησιμοποιείται για αυτούς τους σκοπούς. Μορφή εγγραφής:</p> <p><FRAME SCROLLING="YES|NO|AUTO">. </p> <p>Η παράμετρος SCROLLING μπορεί να λάβει τρεις τιμές: YES, NO ή AUTO. Η τιμή AUTO έχει το ίδιο αποτέλεσμα σαν να μην υπήρχε παράμετρος SCROLLING. Η τιμή YES προκαλεί την εμφάνιση γραμμών κύλισης ανεξάρτητα από το αν χρειάζονται και το ΟΧΙ εμποδίζει την εμφάνισή τους. Για παράδειγμα:</p> <p><FRAME SCROLLING=YES>. </p> <p>Συνήθως ο χρήστης μπορεί να αλλάξει το μέγεθος των πλαισίων καθώς προβάλλει τη σελίδα. Εάν τοποθετήσετε τον κέρσορα του ποντικιού στο πλαίσιο του πλαισίου, ο κέρσορας θα πάρει ένα σχήμα που υποδεικνύει τη δυνατότητα αλλαγής μεγέθους και θα σας επιτρέψει να μετακινήσετε το πλαίσιο στην επιθυμητή θέση. Αυτό μερικές φορές σπάει τη δομή των όμορφα σχεδιασμένων πλαισίων. Για να αποτρέψετε τον χρήστη από το να αλλάξει το μέγεθος των πλαισίων, χρησιμοποιήστε την παράμετρο NORESIZE:</p> <p><FRAME NORESIZE>. </p> <p>Αυτή η παράμετρος δεν απαιτεί τιμές. Φυσικά, όταν η παράμετρος NORESIZE έχει οριστεί για ένα από τα πλαίσια, τότε το μέγεθος οποιουδήποτε από τα διπλανά πλαίσια δεν μπορεί να αλλάξει. Μερικές φορές, ανάλογα με τη διάταξη των πλαισίων, η χρήση της παραμέτρου NORESIZE σε ένα από τα καρέ θα είναι αρκετή για να αποτρέψει την αλλαγή μεγέθους κάποιου από αυτά στην οθόνη.</p> <p><b>Ετικέτα <NOFRAMES> </b></p> <p>Η δυνατότητα εργασίας με πλαίσια δεν προοριζόταν ούτε στο πρότυπο HTML 3.0 ούτε στο πρότυπο HTML 3.2. Εδώ, μέχρι πρόσφατα, υπήρχε μια αρκετά τυπική κατάσταση όταν τα πραγματικά χρησιμοποιούμενα χαρακτηριστικά χρησιμοποιούνται ενεργά σε πολλές σελίδες WWW, αλλά δεν αποτελούν μέρος του προτύπου. Αυτό σήμαινε ότι τα προγράμματα περιήγησης μπορούσαν νόμιμα να αγνοήσουν τα πλαίσια. Με την έλευση του προτύπου HTML 4.0, η κατάσταση άλλαξε - τώρα η υποστήριξη για δομές πλαισίου κατοχυρώνεται στο πρότυπο. Σημειώστε ότι τα περισσότερα σύγχρονα προγράμματα περιήγησης αναγνώρισαν τα πλαίσια ακόμη και πριν από την εμφάνιση της HTML 4.O. Ωστόσο, είναι απαραίτητο να παρέχονται πληροφορίες σε χρήστες που χρησιμοποιούν προγράμματα περιήγησης που δεν υποστηρίζουν πλαίσια. Για τέτοια προγράμματα περιήγησης, είναι δυνατή η παροχή εναλλακτικών πληροφοριών που είναι γραμμένες μεταξύ ενός ζεύγους ετικετών <NOFRAMES>Και. Μοιάζει με αυτό:

</p> <p>ολόκληρο το έγγραφο HTML</p> <p>

Όλα τοποθετούνται ανάμεσα σε ετικέτες Και, θα εμφανίζεται από προγράμματα περιήγησης που δεν διαθέτουν δυνατότητες υποστήριξης πλαισίων. Τα προγράμματα περιήγησης με επίγνωση πλαισίων θα αγνοήσουν όλες τις πληροφορίες μεταξύ αυτών των ετικετών.

Σημειώστε ότι στην πραγματική ζωή, οι προγραμματιστές σελίδων HTML συχνά δεν χρησιμοποιούν τις δυνατότητες της ετικέτας για να δημιουργήσετε σελίδες χωρίς δομές πλαισίων, αλλά απλώς να δημιουργήσετε δύο εκδόσεις των εγγράφων HTML τους. Για αυτήν την επιλογή, η αρχική σελίδα συνήθως προσφέρει την επιλογή φόρτωσης ενός εγγράφου με ή χωρίς δομή πλαισίου. Στη συνέχεια, ανάλογα με την επιλογή του χρήστη, φορτώνεται μόνο μία έκδοση του εγγράφου.</p> <p><b><span>Χαρακτηριστικά της περιγραφής δομών πλαισίου</span> </b></p> <p>Μία από τις πιο σημαντικές ετικέτες που χρησιμοποιούνται κατά την περιγραφή των δομών πλαισίου είναι η ετικέτα <FRAME>. Μια ετικέτα έχει έναν αριθμό παραμέτρων, καμία από τις οποίες δεν απαιτείται ή δεν εξαρτάται από τις άλλες, αλλά υπάρχουν πολλά πράγματα που πρέπει να λάβετε υπόψη κατά τη σύνταξη τους.</p> <p>Αποδεικνύεται ότι εάν πρέπει να δημιουργήσετε ένα πλαίσιο στο οποίο μπορεί αργότερα να φορτωθεί ένα έγγραφο, για παράδειγμα, με εντολή από άλλο πλαίσιο, θα πρέπει να χρησιμοποιήσετε την ετικέτα <FRAME>γράψτε την παράμετρο SRC. Εάν αυτό</p> <p>η παράμετρος παραλείπεται, το πλαίσιο δεν θα δημιουργηθεί, αν και θα μείνει χώρος για αυτό. Για παράδειγμα, ένας δίσκος όπως <FRAME NAME="B">είναι αρκετά λογικό και θα μπορούσε να ορίσει ένα πλαίσιο με το όνομα "B" στο οποίο δεν φορτώνεται αρχικά κανένα έγγραφο. Ωστόσο, λόγω της απουσίας της παραμέτρου SRC, ένα πλαίσιο με αυτό το όνομα δεν θα υπάρχει, επομένως περαιτέρω προσπάθειες φόρτωσης οποιουδήποτε εγγράφου σε αυτό θα παραμείνουν ανεπιτυχείς και ο χώρος στο παράθυρο που έχει εκχωρηθεί για αυτό το πλαίσιο θα είναι κενός. Επιπλέον, ορισμένα προγράμματα περιήγησης (για παράδειγμα, Microsoft Internet Explorer έκδοση 3 για Windows Z.xx) θα εμφανίσουν ένα μήνυμα σφάλματος και θα εξέλθουν όταν προσπαθούν να φορτώσουν ένα έγγραφο σε ένα τέτοιο πλαίσιο.</p> <p>Η απαίτηση για τη ρύθμιση της παραμέτρου SRC δεν μπορεί να εξηγηθεί λογικά, επομένως είναι καλύτερο να λάβετε απλώς υπόψη αυτό το γεγονός. Στη συνέχεια, ακόμα κι αν δεν υπάρχει έγγραφο που πρέπει να φορτωθεί σε αυτό το πλαίσιο από την αρχή, θα πρέπει να καθορίσετε το όνομα ενός αρχείου στην παράμετρο SRC. Για παράδειγμα, ένα τέτοιο αρχείο μπορεί να ονομαστεί vala.htm (κενό), τα περιεχόμενα του οποίου θα είναι το ελάχιστο δυνατό σωστό έγγραφο HTML, δηλαδή:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><BODY> </p> <p></BODY> </p> <p></HTML> </p> <p>Μπορείτε να μειώσετε αυτό το έγγραφο σε δύο ετικέτες: <HTMLX/HTML>, το οποίο θα είναι επίσης ένα έγκυρο έγγραφο HTML. Ακολουθώντας τη διαδρομή της μέγιστης μείωσης του μεγέθους ενός «κενού» εγγράφου, μπορείτε να περιοριστείτε σε ένα αρχείο του οποίου το μέγεθος είναι ίσο με ένα byte, το οποίο αποθηκεύει τον χαρακτήρα διαστήματος (ή οποιονδήποτε άλλο χαρακτήρα που δεν μπορεί να εμφανιστεί). Αυτό το αρχείο δεν θα είναι έγκυρο έγγραφο HTML, αλλά δεν θα προκαλέσει προβλήματα στα περισσότερα προγράμματα περιήγησης. Η περαιτέρω μείωση του μεγέθους ενός τέτοιου αρχείου στο μηδέν δεν δικαιολογείται, καθώς όταν φορτωθεί από το πρόγραμμα περιήγησης Netscape, θα εμφανιστεί ένα προειδοποιητικό μήνυμα (Εικ. 5.4) ότι το έγγραφο δεν περιέχει δεδομένα.</p> <span> <img src='https://i0.wp.com/webnav.ru/books/html4/frames/08.gif' height="119" width="332" loading=lazy loading=lazy></span> <p><i><b>Ρύζι. 5. <span>4 . </b>Προειδοποιητικό μήνυμα κατά τη μεταφόρτωση ενός αρχείου μηδενικού μήκους</span> </i></p> <p>Σε αυτήν την περίπτωση, πρέπει να απαντήσετε σε αυτό το μήνυμα πατώντας το πλήκτρο <Enter>ή κουμπί του ποντικιού. Κάθε φορά που επαναφορτώνεται το έγγραφο ή αλλάζει το μέγεθος του παραθύρου του προγράμματος περιήγησης, το μήνυμα θα εμφανίζεται ξανά.</p> <p>Μπορείτε επίσης να καθορίσετε το όνομα ενός ανύπαρκτου αρχείου, αλλά σε αυτήν την περίπτωση το πρόγραμμα περιήγησης Netscape θα εμφανίσει ένα προειδοποιητικό μήνυμα (Εικ. 5.5), το οποίο δεν θα αποτρέψει περαιτέρω εργασία, αλλά θα οδηγήσει σε παρόμοια προβλήματα.</p> <span> <img src='https://i2.wp.com/webnav.ru/books/html4/frames/09.gif' height="139" width="314" loading=lazy loading=lazy></span> <p><i><b>Ρύζι. 5. <span>5 . </b>Προειδοποιητικό μήνυμα κατά την προσπάθεια λήψης ενός ανύπαρκτου αρχείου</span> </i></p> <p><i><b>Συμβουλή</b> </i></p> <p><i> <span>Δημιουργήστε ένα αρχείο με το όνομα vala.htm που έχει μέγεθος ένα byte και περιέχει έναν χαρακτήρα διαστήματος. Κάντε το ως κανόνα όταν γράφετε μια ετικέτα <FRAME>να ορίζετε πάντα SRC=empty.htm εάν είναι αδύνατο να ορίσετε αμέσως το όνομα ενός συγκεκριμένου αρχείου.</span> </i></p> <p>Παραδείγματα κουφωμάτων</p> <p>Αυτή η ενότητα παρέχει μερικά τυπικά παραδείγματα ορισμών πλαισίων.</p> <p>Ας επιστρέψουμε στο παράδειγμα που δίνεται στην αρχή αυτής της ενότητας (Εικ. 5.3). Αυτό το παράδειγμα χρησιμοποιεί μια ένθετη δομή <FRAMESET>. Εξωτερική ετικέτα <FRAMESET>δημιουργεί τρεις σειρές ύψους, αντίστοιχα 25, 50 και 25 τοις εκατό του συνολικού ύψους της θύρας προβολής:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>Μέσα σε αυτό το πεδίο ορισμού, η πρώτη και η τελευταία γραμμή είναι απλά πλαίσια:</p> <p><FRAME SRC="header.htm"> <FRAME SRC="footer.htm"> </p> <p>Κάθε μία από αυτές τις γραμμές καλύπτει ολόκληρο το πλάτος της οθόνης. Η πρώτη γραμμή στο επάνω μέρος της οθόνης καταλαμβάνει το 25 τοις εκατό του ύψους και η τρίτη γραμμή στο κάτω μέρος καταλαμβάνει επίσης το 25 τοις εκατό του ύψους. Ανάμεσά τους, ωστόσο, υπάρχει μια ένθετη ετικέτα <FRAMESET>: </p> <p><FRAMESET COLS="25%,75%"> </p> <p><FRAME SRC="list.htm"> </p> <p><FRAME SRC="info.htm"> </p> <p></FRAMESET> </p> <p>Αυτή η ετικέτα ορίζει δύο στήλες στις οποίες χωρίζεται η μεσαία γραμμή της οθόνης. Η σειρά που περιέχει αυτές τις δύο στήλες καταλαμβάνει το 50 τοις εκατό του ύψους της οθόνης, όπως ορίζεται στην εξωτερική ετικέτα <FRAMESET>. Η αριστερή στήλη χρησιμοποιεί το 25 τοις εκατό του πλάτους της οθόνης, ενώ η δεξιά στήλη καταλαμβάνει το υπόλοιπο 75 τοις εκατό του πλάτους.</p> <p>Τα πλαίσια για αυτές τις στήλες ορίζονται μέσα σε ένα ένθετο ζεύγος ετικετών <FRAMESET>Και</FRAMESET>, ενώ ο ορισμός των πλαισίων για την πρώτη και την τελευταία γραμμή γράφεται έξω από αυτό το ζεύγος, αλλά μέσα στην εξωτερική <FRAMESET>με την κατάλληλη σειρά.</p> <p>Η δομή της εγγραφής είναι εύκολα κατανοητή αν τη θεωρήσετε ως ένα ένθετο μπλοκ <FRAMESET>ως ξεχωριστό στοιχείο <FRAME>. Στο παράδειγμά μας, η εξωτερική ετικέτα <FRAMESET>ορίζει τρεις γραμμές. Κάθε ένα από αυτά πρέπει να συμπληρωθεί. Σε αυτή την περίπτωση, γεμίζονται πρώτα με ένα ξεχωριστό στοιχείο <FRAME>, τότε - ως ένθετο μπλοκ <FRAMESET>δύο στήλες πλάτος και μετά ένα άλλο στοιχείο <FRAME>. </p> <p>Τώρα μπορεί να προκύψει το ερώτημα εάν η τιμή της παραμέτρου ετικέτας SRC μπορεί να είναι <FRAME>ορίστε το όνομα του αρχείου, το οποίο, με τη σειρά του, περιέχει μια περιγραφή της δομής του πλαισίου. Ναι, αυτό είναι αποδεκτό. Σε αυτή την περίπτωση η ετικέτα <FRAME>θα χρησιμοποιηθεί για να δείχνει σε ένα έγγραφο HTML που είναι δομή πλαισίου και χρησιμοποιείται ως ξεχωριστό πλαίσιο.</p> <p>Ας επιστρέψουμε στο παράδειγμα και ας αντικαταστήσουμε το ένθετο <FRAMESET>σε ένα ξεχωριστό <FRAME>. Φυσικά, θα χρειαστείτε δύο αρχεία HTML αντί για ένα, αφού είναι ένθετα <FRAMESET>θα βρίσκεται τώρα σε ξεχωριστό έγγραφο. Εδώ είναι τα περιεχόμενα του πρώτου (εξωτερικού) αρχείου:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><FRAMESET ROWS="25%,50%,25%"> </p> <p><FRAME SRC="header.htm"> </p> <p><FRAME SRC="frameset.htm"> </p> <p><FRAME SRC="footer.htm"> </p> <p></FRAMESET> </p> <p><NOFRAMES> </p> <p>Το πρόγραμμα περιήγησής σας δεν μπορεί να εμφανίσει καρέ</p> <p>

Το δεύτερο αρχείο, που ονομάζεται frameset.htm, περιέχει τον ακόλουθο κώδικα:

Σε αυτή την περίπτωση, η επάνω και η κάτω γραμμή συμπεριφέρονται το ίδιο. Αλλά η δεύτερη γραμμή είναι πλέον ένα απλό πλαίσιο όπως τα άλλα. Ωστόσο, το αρχείο frameset.htm στο οποίο επισημαίνεται η παράμετρος SRC ορίζει τη δική του δομή πλαισίου. Ως αποτέλεσμα, η οθόνη θα εμφανιστεί ακριβώς όπως στο αρχικό παράδειγμα.

Σημείωση

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

Συμβουλή

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

Ακολουθεί ένα παράδειγμα δημιουργίας ενός κανονικού ορθογώνιου πλέγματος πλαισίων:

Αυτό το παράδειγμα δημιουργεί ένα πλέγμα πλαισίου με δύο σειρές και τρεις στήλες (Εικόνα 5.6). Εφόσον ορίζεται ένα σύνολο έξι καρέ, είναι επίσης απαραίτητο να οριστούν έξι μεμονωμένα πλαίσια . Λάβετε υπόψη ότι οι ορισμοί πλαισίων δίνονται γραμμή προς γραμμή. Δηλαδή το πρώτο tag ορίζει τα περιεχόμενα της πρώτης στήλης στην πρώτη σειρά, η δεύτερη ορίζει τα περιεχόμενα της δεύτερης στήλης και η τρίτη ολοκληρώνει τον ορισμό των δεδομένων για την τελευταία στήλη της πρώτης σειράς. Στη συνέχεια, τα τρία τελευταία πλαίσια γεμίζουν τις στήλες της δεύτερης σειράς.


Ρύζι. 5. 6 . Πλέγμα πλαισίων 2 επί 3

Σημειώστε επίσης ότι το άθροισμα των ποσοστιαίων τιμών στην παράμετρο COLS δεν είναι 100, αλλά μόνο 90 ​​τοις εκατό. Δεν υπάρχει τίποτα κακό με αυτό, καθώς το πρόγραμμα περιήγησης θα αλλάξει αυτόματα αναλογικά το πλάτος των στηλών για να εξαλείψει αυτήν την αντίφαση.

Χαρακτηριστικά πλοήγησης κατά τη χρήση πλαισίων

Η εργασία με έγγραφα που έχουν δομή πλαισίου έχει ορισμένα χαρακτηριστικά που πρέπει να γνωρίζετε. Αυτά τα χαρακτηριστικά του JB εμφανίζονται κυρίως στην πλοήγηση κατά τη φόρτωση εγγράφων. Σημαντικές διαφορές στην πλοήγηση είναι χαρακτηριστικές όχι μόνο διαφορετικών προγραμμάτων περιήγησης, αλλά και διαφορετικών εκδόσεων του ίδιου προγράμματος περιήγησης.

Οι εκδόσεις 3.x και 4.x του προγράμματος περιήγησης Netscape, όταν κάνετε κλικ στο κουμπί Πίσω, επιστρέφει το έγγραφο πίσω στο πλαίσιο στο οποίο έγινε η τελευταία ενέργεια. Οι ίδιες ενέργειες θα εκτελεστούν εάν επιλεγεί το στοιχείο Πίσω κατά την κλήση του μενού περιβάλλοντος σε οποιοδήποτε από τα πλαίσια. Να σας υπενθυμίσουμε ότι το μενού περιβάλλοντος καλείται κάνοντας δεξί κλικ στο ποντίκι. Έτσι, ανεξάρτητα από το πλαίσιο στο οποίο κλήθηκε το μενού περιβάλλοντος, πατώντας το κουμπί Πίσω θα ακυρωθεί η τελευταία λειτουργία, ακόμα κι αν είχε πραγματοποιηθεί σε άλλο πλαίσιο.

Το πρόγραμμα περιήγησης Netscape 2.x λειτούργησε εντελώς διαφορετικά. Το μενού περιβάλλοντος περιέχει την εντολή Back in Frame, η οποία επιστρέφει το έγγραφο στο τρέχον πλαίσιο αντί να αναιρεί την τελευταία λειτουργία.

Σε οποιαδήποτε έκδοση του Netscape, μπορείτε να προσθέσετε σελιδοδείκτη σε ένα έγγραφο που περιέχεται σε ένα επιλεγμένο πλαίσιο. Για να το κάνετε αυτό, πρέπει να επιλέξετε τη λειτουργία Προσθήκη σελιδοδείκτη από το μενού περιβάλλοντος που αναφέρεται παραπάνω. Εάν απλώς επιλέξετε τη λειτουργία Προσθήκη σελιδοδείκτη από το κύριο μενού του προγράμματος περιήγησης, θα δημιουργηθεί ένας σελιδοδείκτης στο έγγραφο με μια περιγραφή της δομής του πλαισίου , το οποίο δεν θα δείχνει με ακρίβεια ένα συγκεκριμένο πλαίσιο. Η δυνατότητα δημιουργίας σελιδοδείκτη σε ένα έγγραφο ξεχωριστού πλαισίου δεν σημαίνει ότι θα προκύψει η ίδια δομή πλαισίου όταν συνεχίσετε να χρησιμοποιείτε αυτόν τον σελιδοδείκτη. Το έγγραφο στο οποίο επισημαίνεται ο σελιδοδείκτης θα φορτωθεί σε ένα πλήρες παράθυρο έξω από τη δομή του πλαισίου.

Αλληλεπίδραση μεταξύ πλαισίων

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

Η αλληλεπίδραση μεταξύ πλαισίων είναι η δυνατότητα φόρτωσης εγγράφων στο επιλεγμένο πλαίσιο χρησιμοποιώντας εντολές από άλλο πλαίσιο. Για το σκοπό αυτό, χρησιμοποιείται η παράμετρος ετικέτας TARGET<А>. Αυτή η παράμετρος καθορίζει το όνομα του πλαισίου ή του παραθύρου του προγράμματος περιήγησης στο οποίο θα φορτωθεί το έγγραφο στο οποίο αναφέρεται αυτός ο σύνδεσμος. Από προεπιλογή, εάν δεν υπάρχει παράμετρος TARGET, το έγγραφο φορτώνεται στο τρέχον πλαίσιο (ή παράθυρο). Αυτή η προεπιλογή μπορεί να παρακαμφθεί καθορίζοντας μια ετικέτα με την επιθυμητή τιμή της παραμέτρου TARGET. Ο καθορισμός του ονόματος του προεπιλεγμένου πλαισίου στο οποίο θα φορτωθεί είναι πολύ χρήσιμος όταν ένας μεγάλος αριθμός συνδέσμων χρειάζεται να κατευθύνει έγγραφα σε ένα συγκεκριμένο πλαίσιο. Στην αρχή αυτού του κεφαλαίου παρουσιάστηκε μια τυπική κατάσταση με έναν πίνακα περιεχομένων σε ένα πλαίσιο, συνδέσμους από τους οποίους φορτώνουν αντίστοιχα έγγραφα σε ένα διπλανό πλαίσιο (Εικόνα 5.1). Για αυτό το παράδειγμα στην ενότητα αρχείο με το όνομα LIST.htm, συνιστάται να γράψετε την ακόλουθη γραμμή: . Διαφορετικά, θα πρέπει να καθορίσετε μια παράμετρο TARGET για κάθε σύνδεσμο.

Τα ονόματα των πλαισίων πρέπει να ξεκινούν με λατινικό γράμμα ή αριθμό. Το όνομα μπορεί να είναι το όνομα ενός υπάρχοντος παραθύρου ή πλαισίου ή μπορεί να καθοριστεί ένα νέο όνομα κάτω από το οποίο θα ανοίξει ένα νέο παράθυρο. Υπάρχουν τέσσερα δεσμευμένα ονόματα που εκτελούν ειδικές ενέργειες όταν καθορίζονται. Αυτά τα ονόματα ξεκινούν με μια υπογράμμιση (_): "_blank", "_self", "_parent" και "_top". Οποιοδήποτε άλλο όνομα που αρχίζει με κάτω παύλα δεν είναι έγκυρο.

TARGET="_blank" - διασφαλίζει ότι το έγγραφο φορτώνεται σε νέο παράθυρο. Αυτό το παράθυρο δεν θα έχει όνομα και επομένως δεν θα είναι δυνατή η φόρτωση άλλου εγγράφου σε αυτό.

TARGET="_self" - το έγγραφο θα φορτωθεί στο τρέχον πλαίσιο (ή παράθυρο). Αυτή η καταχώρηση θα πρέπει να χρησιμοποιείται για να παρακάμψει την προεπιλογή που καθορίζεται από την ετικέτα .

TARGET="_top" - προκαλεί τη φόρτωση του εγγράφου σε ολόκληρο το παράθυρο. Εάν το έγγραφο βρίσκεται ήδη σε πλήρες παράθυρο, τότε αυτή η τιμή έχει το ίδιο αποτέλεσμα με αυτό"_εαυτός".

TARGET="_parent" - προκαλεί τη φόρτωση του εγγράφου στην περιοχή που καταλαμβάνει το γονικό πλαίσιο του τρέχοντος πλαισίου. Εάν δεν υπάρχει γονικό πλαίσιο, αυτή η τιμή παραμέτρου έχει το ίδιο αποτέλεσμα με"_μπλουζα" .

Σημείωση

Ορισμένες πηγές HTML λανθασμένα αναφέρουν ότι εάν ένα πλαίσιο δεν έχει γονέα, η τιμή "_parent" είναι ισοδύναμη με "_self". Αυτή η δήλωση δεν είναι πάντα σωστή.

Προειδοποίηση

Τα δεσμευμένα ονόματα πλαισίου "_blank", "_self", "_parent" και "_top" πρέπει να γράφονται με πεζά λατινικά γράμματα. Σημειώστε ότι αυτή η ακρίβεια είναι μοναδική για το Netscape. Ο Microsoft Internet Explorer αναγνωρίζει σωστά τα δεσμευμένα ονόματα γραμμένα σε κάθε περίπτωση.

Ακολουθούν παραδείγματα αλληλεπίδρασης μεταξύ πλαισίων και μεμονωμένων παραθύρων του προγράμματος περιήγησης. Εξετάστε τον ακόλουθο κώδικα HTML:

Χρήση πλαισίων

Αυτό το έγγραφο HTML περιγράφει μια δομή που αποτελείται από τρία πλαίσια που ονομάζονται "A", "B" και "C". Τα ονόματα πλαισίων θα χρειαστούν αργότερα για να οργανωθούν οι σύνδεσμοι μεταξύ των πλαισίων. Σημειώστε ότι δεν θα υπάρχουν σύνδεσμοι προς το πλαίσιο με το όνομα "A" σε αυτό το παράδειγμα, επομένως θα μπορούσε να έχει μείνει καθόλου χωρίς όνομα. Όταν φορτώνετε το παραπάνω έγγραφο σε ένα πρόγραμμα περιήγησης, τα πλαίσια θα εμφανίζουν τις πληροφορίες που περιέχονται στα αρχεία που προσδιορίζονται από την παράμετρο SRC. Το πλαίσιο "A" θα λάβει τα περιεχόμενα του αρχείου frame_a.htm και τα υπόλοιπα δύο καρέ θα λάβουν δεδομένα από το αρχείο vala.htm, το οποίο δεν έχει δεδομένα για εμφάνιση. Να σας υπενθυμίσουμε για άλλη μια φορά ότι το έγγραφο HTML που περιγράφει τη δομή των πλαισίων δεν έχει ενότητα .

Εδώ είναι το κείμενο του αρχείου με το όνομα frame_a.htm:

Έγγραφο για το πλαίσιο Α

ρε

4. Φόρτωση εγγράφου σε νέο παράθυρο

5. Φόρτωση εγγράφου σε πλήρες παράθυρο

6. Φόρτωση εγγράφου στο τρέχον πλαίσιο

Αυτό το έγγραφο είναι ένα πλήρες έγγραφο HTML με ενότητες Και και, με τη σειρά του, έχει συνδέσμους προς ένα αρχείο που ονομάζεται test.htm, που βρίσκεται στον ίδιο κατάλογο με το αρχείο frame_a.htm.

Το κείμενο του αρχείου test.htm είναι εξαιρετικά απλό:

Έγγραφο δοκιμής

Δοκιμαστικό κείμενο εγγράφου

Το αρχείο frame_a.htm, τα περιεχόμενα του οποίου φορτώθηκαν στο πλαίσιο "A", έχει έξι συνδέσμους στο ίδιο αρχείο test.htm με διαφορετικές τιμές για την παράμετρο TARGET.

Ας εξετάσουμε τις ενέργειες που θα προκύψουν κατά την υλοποίηση αυτών των συνδέσμων. Ο πρώτος σύνδεσμος με την τιμή TARGET="B" θα φορτώσει το αρχείο test.htm σε ένα πλαίσιο που ονομάζεται "in". Σημειώστε ότι μετά την εφαρμογή οποιουδήποτε από τους έξι συνδέσμους, το πρόγραμμα περιήγησης Netscape θα χρωματίσει αυτόματα και τα έξι με διαφορετικό χρώμα, καθώς δείχνουν στο ίδιο αρχείο. Ο Microsoft Internet Explorer επισημαίνει μόνο συνδέσμους που έχουν υλοποιηθεί.

Ο δεύτερος σύνδεσμος θα κάνει το ίδιο για το πλαίσιο "C". Αρχικά, δεν υπάρχει τίποτα στα πλαίσια "B" και "C" (πιο συγκεκριμένα, φορτώνονται τα περιεχόμενα του κενού αρχείου vala.htm). Η υλοποίηση του πρώτου και του δεύτερου συνδέσμου θα γεμίσει αυτά τα πλαίσια.

Ο τρίτος σύνδεσμος με την τιμή TARGET=MD" θα οδηγήσει στο σχηματισμό ενός νέου παραθύρου του προγράμματος περιήγησης με το όνομα "D" και στη φόρτωση του αρχείου test.htm σε αυτό. Σημειώστε ότι η μορφή εγγραφής αυτού του συνδέσμου δεν διαφέρει από την πρώτη δύο. Η διαφορά είναι ότι στην πρώτη Σε δύο περιπτώσεις δόθηκαν αναφορές σε υπάρχοντα πλαίσια, τα ονόματα των οποίων ορίστηκαν στο αρχείο με τη δομή του πλαισίου και σε αυτήν την περίπτωση η αναφορά δόθηκε σε ανύπαρκτο αντικείμενο. Αυτή η αναφορά γίνεται τουλάχιστον μία φορά, στη συνέχεια θα δημιουργηθεί ένα παράθυρο με το όνομα "D" και κάνοντας επαναλαμβανόμενο κλικ στον σύνδεσμο θα φορτωθούν ξανά τα δεδομένα μόνο στο ήδη υπάρχον παράθυρο "D". Φυσικά, ο χρήστης μπορεί να το κλείσει οποιαδήποτε στιγμή χρόνο και δημιουργήστε το ξανά επιλέγοντας αυτόν τον σύνδεσμο Το σχήμα 5.7 δείχνει την κατάσταση μετά την υλοποίηση των τριών πρώτων συνδέσμων Θυμηθείτε ότι η θέση και τα μεγέθη των παραθύρων στην οθόνη καθορίζονται από τον χρήστη.

Ρύζι. 5. 7 . Η κατάσταση προέκυψε μετά τη διαδοχική υλοποίηση των τριών πρώτων συνδέσμων που διατίθενται στο αριστερό πλαίσιο

Ο πέμπτος σύνδεσμος με την τιμή TARGET="_top" θα φορτώσει το έγγραφο στο πλήρες παράθυρο αντί για ολόκληρη τη δομή του πλαισίου. Με αυτήν την τιμή της παραμέτρου TARGET, δεν δημιουργείται νέο παράθυρο. Η επιστροφή στη δομή του πλαισίου είναι δυνατή κάνοντας κλικ στο κουμπί Πίσω.

Σημείωση

Τα ονόματα των πλαισίων ή των παραθύρων του προγράμματος περιήγησης δεν πρέπει να συγχέονται με τα ονόματα των ληφθέντων εγγράφων. Τα ονόματα των πλαισίων δεν είναι ορατά πουθενά όταν προβάλλονται· απαιτούνται μόνο για την οργάνωση της αλληλεπίδρασης και επομένως είναι κρυμμένα από τον χρήστη. Μπορείτε να τα δείτε μόνο κατά την προβολή του κειμένου πηγής των αρχείων HTML.

Συμβουλή

Να σας υπενθυμίσουμε ότι τα ονόματα των ληφθέντων εγγράφων καθορίζονται από την ετικέτα . Εάν ένα έγγραφο φορτωθεί σε πλήρες παράθυρο, το όνομά του εμφανίζεται στην κορυφή του παραθύρου του προγράμματος περιήγησης. Εάν ένα έγγραφο φορτωθεί σε ένα πλαίσιο, τότε το όνομά του δεν εμφανίζεται πουθενά και ο τίτλος του εγγράφου που περιέχει μια περιγραφή της δομής πλαισίου του εγγράφου θα εξακολουθεί να βρίσκεται στο επάνω μέρος του παραθύρου. Επομένως, τα ονόματα των εγγράφων που πρόκειται να προβληθούν σε πλαίσια δεν είναι πολύ σημαντικά. Για παράδειγμα, στο Σχ. 5.7 Το ίδιο έγγραφο φορτώνεται στα πλαίσια "B" και "C", καθώς και σε ένα ξεχωριστό παράθυρο με το όνομα "D", ενώ το όνομα του εγγράφου είναι ορατό μόνο στο παράθυρο "D". Ωστόσο, δεν συνιστάται η παράλειψη των ονομάτων των εγγράφων που έχουν φορτωθεί σε πλαίσια, καθώς μπορεί να εμφανίζονται, για παράδειγμα, στη λίστα Σελιδοδεικτών κατά τη δημιουργία ενός σελιδοδείκτη για ένα έγγραφο που βρίσκεται σε ένα πλαίσιο ή λίστα εγγράφων που προβλήθηκαν.</span> </i></p> <p>Ας δούμε ένα άλλο ενδιαφέρον παράδειγμα οργάνωσης της αλληλεπίδρασης μεταξύ πλαισίων και παραθύρων του προγράμματος περιήγησης. Έστω ότι υπάρχει το κείμενο του κύριου φορτωμένου εγγράφου HTML:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>Χρήση ονομάτων παραθύρων

Ένα έγγραφο με δομή πλαισίου σε νέο παράθυρο

Χρήση πλαισίων

Λάβετε υπόψη ότι εάν το κύριο έγγραφο είναι ένα τυπικό έγγραφο HTML, τότε το αρχείο frame.htm που φορτώνεται από έναν σύνδεσμο από το κύριο έγγραφο περιέχει τη δομή του πλαισίου και με τη σειρά του συνδέεται με το αρχείο vala.htm.

Μετά τη φόρτωση του κύριου εγγράφου, το παράθυρο του προγράμματος περιήγησης θα μοιάζει όπως φαίνεται στην Εικ. 5.8 (αριστερό παράθυρο). Ολόκληρο το έγγραφο αποτελείται από δύο συνδέσμους. Ας ακολουθήσουμε τον πρώτο σύνδεσμο. Θα δημιουργηθεί ένα νέο παράθυρο με το όνομα «D», στο οποίο θα εμφανιστεί το κείμενο του αρχείου test.htm (Εικ. 5.8, δεξί παράθυρο). Η επανάληψη αυτού του συνδέσμου θα επαναφορτώσει μόνο τα δεδομένα στο παράθυρο "D".


Ρύζι. 5.8.Παράδειγμα αλληλεπιδρώντων παραθύρων πλαισίων

Ας ακολουθήσουμε τον δεύτερο σύνδεσμο. Θα σχηματιστεί ένα νέο παράθυρο χωρίς όνομα, στο οποίο θα φορτωθεί το αρχείο frame.htm, ορίζοντας δύο πλαίσια με τα ονόματα «C» και «D» (Εικ. 5.8, κάτω παράθυρο). Δεν υπάρχει τίποτα και στα δύο πλαίσια (πιο συγκεκριμένα, φορτώνεται ένα κενό έγγραφο κενό.htm). Παρατηρήστε ότι υπάρχει τώρα ένα ανοιχτό παράθυρο με το όνομα "D" και ένα παράθυρο με πλαίσια, ένα από τα οποία ονομάζεται επίσης "D". Ας ακολουθήσουμε ξανά τον πρώτο σύνδεσμο. Σε αντίθεση με την πρώτη περίπτωση, τα δεδομένα δεν θα φορτωθούν στο παράθυρο "D", αλλά σε ένα πλαίσιο που ονομάζεται "D". Το αποτέλεσμα όλων των περιγραφόμενων ενεργειών φαίνεται στο Σχ. 5.8.

Σημείωση

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

Εάν αλλάξετε τη σειρά των ενεργειών, δηλαδή εκτελέστε πρώτα τον δεύτερο σύνδεσμο και μετά τον πρώτο, τότε το παράθυρο με το όνομα "D" δεν θα εμφανιστεί καθόλου! Αυτό θα συμβεί γιατί μετά την υλοποίηση του δεύτερου συνδέσμου, θα δημιουργηθεί ένα πλαίσιο με το όνομα "D" και δεν θα χρειαστεί να ανοίξετε νέο παράθυρο για τον πρώτο σύνδεσμο.

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

Συμβουλή

Αποφύγετε τις συγκρούσεις στα ονόματα πλαισίων και παραθύρων. Αν και επίσημα δεν απαγορεύεται να υπάρχουν πλαίσια με τα ίδια ονόματα, μπορεί να οδηγήσει σε σύγχυση.

Προειδοποίηση

Τα ονόματα πλαισίων και παραθύρων συγκρίνονται με διάκριση πεζών-κεφαλαίων. Έτσι, για παράδειγμα, τα πλαίσια με το όνομα "frame_1" και "Frame_1" θα είναι διαφορετικά.

Παραδείγματα πιο σύνθετων αλληλεπιδράσεων μεταξύ πλαισίων

Αρκετά απλά τυπικά παραδείγματα αλληλεπίδρασης μεταξύ πλαισίων συζητήθηκαν παραπάνω. Εξετάστηκαν οι εργασίες δημιουργίας νέων παραθύρων, αντικατάστασης των περιεχομένων μεμονωμένων πλαισίων, καθώς και εμφάνισης ενός εγγράφου σε πλήρες παράθυρο με την καταστροφή ολόκληρης της δομής του πλαισίου. Δίνονται παραδείγματα χρήσης ονομάτων προσαρμοσμένων πλαισίων, καθώς και των δεσμευμένων ονομάτων "_blank", "_self" και "_top". Η χρήση του τελευταίου δεσμευμένου ονόματος "_parent" είναι πιο περίπλοκη και θα περιγραφεί παρακάτω.

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

Μία από τις πιο κοινές χρήσεις των πλαισίων, που έχει ήδη αναφερθεί σε αυτό το κεφάλαιο, είναι η περίπτωση δύο πλαισίων, το ένα από τα οποία περιέχει μια λίστα συνδέσμων και το άλλο περιέχει τα ίδια τα έγγραφα (Εικ. 5.1).

Ας προσπαθήσουμε να επεκτείνουμε τη διατύπωση του προβλήματος. Ας υποθέσουμε ότι θέλετε να εμφανίσετε στην οθόνη τα περιεχόμενα ενός αρκετά μεγάλου εγγράφου που αποτελείται από κεφάλαια χωρισμένα σε ενότητες. Χαρακτηριστικό παράδειγμα είναι η τεχνική βιβλιογραφία για ένα συγκεκριμένο θέμα. Ας περιγράψουμε την επιθυμητή παρουσίαση ενός τέτοιου εγγράφου στην οθόνη. Ας χωρίσουμε την οθόνη σε τρία πλαίσια, το ένα από τα οποία θα περιέχει μια λίστα κεφαλαίων βιβλίων, το δεύτερο - μια λίστα ενοτήτων του επιλεγμένου κεφαλαίου και το τρίτο - το κείμενο της επιλεγμένης ενότητας. Όταν επιλέγετε έναν σύνδεσμο στο δεύτερο πλαίσιο, τα περιεχόμενα του τρίτου πλαισίου θα πρέπει να αλλάζουν. Η εφαρμογή αυτής της απαίτησης είναι ασήμαντη. Όταν επιλέγετε έναν σύνδεσμο στο πρώτο πλαίσιο, τα περιεχόμενα και του δεύτερου και του τρίτου πλαισίου θα πρέπει να αλλάζουν ταυτόχρονα. Εκ πρώτης όψεως, η υλοποίηση αυτής της εργασίας σε HTML είναι αδύνατη (χωρίς τη χρήση προγραμματισμού σε JavaScript ή άλλα), καθώς όταν εκτελείται ένας σύνδεσμος, φορτώνεται μόνο ένα έγγραφο και όχι δύο ή περισσότερα. Ωστόσο, η επίλυση αυτού του προβλήματος είναι αρκετά δυνατή.

Ας δείξουμε μια πιθανή λύση σε ένα τέτοιο πρόβλημα χρησιμοποιώντας ένα απλό παράδειγμα. Ας υποθέσουμε ότι θέλετε να εμφανίσετε τρία καρέ στην οθόνη και να φορτώσετε ορισμένα έγγραφα σε αυτά. Ας ορίσουμε το καθήκον της δημιουργίας συνδέσμων σε καθένα από αυτά τα πλαίσια, η υλοποίηση των οποίων, για παράδειγμα, αντάλλαξε τα περιεχόμενα δύο πλαισίων. Αφήστε το πρώτο πλαίσιο να καταλάβει το 50% του πλάτους του παραθύρου και το 100% του ύψους του και τοποθετήστε το στην αριστερή πλευρά του παραθύρου. Το δεξί μισό του παραθύρου χωρίζεται επίσης οριζόντια στη μέση και περιέχει άλλα δύο πλαίσια. Αυτή η δομή περιγράφεται από τον ακόλουθο κώδικα:

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

Παράδειγμα αλληλεπίδρασης μεταξύ πλαισίων

Δημιουργήθηκε αρχείο με ένθετη δομή έχει το όνομα 1_2.htm και περιέχει τον ακόλουθο κώδικα:

1-2

Με την πρώτη ματιά, τίποτα δεν έχει αλλάξει καθόλου. Και στις δύο περιπτώσεις υπάρχουν τρία πλαίσια στα οποία φορτώνονται τα έγγραφα left.htm, 1.htm και 2.htm αντίστοιχα. Ωστόσο, όταν τα καρέ αλληλεπιδρούν, θα εμφανιστεί η διαφορά. Εάν στην πρώτη περίπτωση κανένα από τα πλαίσια δεν έχει γονικό πλαίσιο, τότε στη δεύτερη περίπτωση για δύο καρέ ο γονέας θα είναι ένα πλαίσιο με το όνομα "Two_Frames". Επομένως, εάν σε οποιοδήποτε από τα δύο πλαίσια εφαρμόσετε έναν σύνδεσμο με τιμή παραμέτρου TARGET ίση με "_parent", τότε το αποτέλεσμα θα είναι διαφορετικό για την πρώτη και τη δεύτερη περίπτωση. Για την πρώτη περίπτωση, η εφαρμογή μιας τέτοιας σύνδεσης θα φορτώσει το έγγραφο σε ένα πλήρες παράθυρο, αντικαθιστώντας την υπάρχουσα δομή πλαισίου. Εδώ μπαίνει στο παιχνίδι η ιδιότητα τιμής "_parent", η οποία λειτουργεί σαν "_top" απουσία γονικού πλαισίου. Στη δεύτερη περίπτωση, θα αντικατασταθεί ένα πλαίσιο με το όνομα «Two_Frames», το οποίο καταλαμβάνει το δεξί μισό της οθόνης και ουσιαστικά αποτελείται από δύο καρέ.

Η δεύτερη περίπτωση τυπικά διαφέρει από την πρώτη επίσης από την παρουσία ενός πλαισίου με το όνομα "Two_Frames" στο οποίο μπορούν να γίνουν αναφορές. Είναι ακριβώς αυτό το χαρακτηριστικό που θα μας επιτρέψει να λύσουμε το πρόβλημα.

Εδώ είναι τα περιεχόμενα του αρχείου left.htm, το οποίο φορτώνεται αρχικά στο πρώτο από τα υπό εξέταση πλαίσια:

Αριστερό πλαίσιο

έγγραφα σε δύο πλαίσια που βρίσκονται στη δεξιά πλευρά του παραθύρου.

Επιλέξτε την επιλογή θέσης εγγράφου:

1 _2.htm" TARGET="Two_Frames">Επιλογή 1-2

Επιλογή 2-1

2-1<TITLE> </p> <p></HEAD> </p> <p><FRAMESET ROWS="*,*"> </p> <p><FRAME SRC="2.htm"> </p> <p><FRAME SRC="1.htm"> </p> <p></FRAMESET> </p> <p></HTML> </p> <p>Σημειώστε ότι το κείμενο των αρχείων 1_2.htm και 2_1.htm διαφέρει μόνο ως προς τη σειρά των συνδέσμων προς τα αρχεία 1.htm και 2.htm.</p> <p>Ας εξετάσουμε τώρα την κατασκευή ενός εγγράφου που έχει φορτωθεί στο αριστερό πλαίσιο. Περιέχει δύο συνδέσμους με την παράμετρο TARGET="Two_Frames". Η υλοποίηση οποιουδήποτε από αυτούς τους συνδέσμους δημιουργεί δύο πλαίσια στη θέση του πλαισίου "Two_Frames" (αυτό είναι το δεξί μισό της οθόνης), φορτώνοντας έγγραφα 1.htm και 2.htm με τη μία ή την άλλη σειρά. Έτσι, όταν επιλέγετε την επιλογή 1-2, το έγγραφο 1.htm φορτώνεται στο επάνω δεξιό πλαίσιο και το 2.htm στο κάτω δεξιά πλαίσιο. Όταν επιλέγετε την επιλογή 2-1, αλλάζει η σειρά των εγγράφων. Ως αποτέλεσμα, η εναλλασσόμενη επιλογή των επιλογών δημιουργεί την εντύπωση ότι τα έγγραφα στα δύο πλαίσια αλλάζουν θέση. Αυτό ακριβώς είναι το αποτέλεσμα που επιδιώξαμε να επιτύχουμε (Εικ. 5.9).</p> <p>Τα περιεχόμενα των εγγράφων 1.htm και 2.htm δεν έχουν σημασία για το περιγραφόμενο παράδειγμα. Ωστόσο, για παράδειγμα, αντί για ασήμαντα έγγραφα, θα δημιουργήσουμε έγγραφα με συνδέσμους που υλοποιούν τις ίδιες ενέργειες.</p> <p>Κείμενο αρχείου 1.htm:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>Έγγραφο 1

Έγγραφο 1

Επιλογή 1 -2

Επιλογή 2-1

Το αρχείο 2.htm διαφέρει από το 1.htm μόνο στην κεφαλίδα.

Υπάρχουν δύο σύνδεσμοι με την τιμή TARGET="_parent" που οδηγούν στο γονικό πλαίσιο. Αυτοί οι σύνδεσμοι θα μπορούσαν επίσης να γραφτούν με ένα ρητό όνομα του γονικού πλαισίου, π.χ. TARGET="Two_Frames", αλλά η χρήση ενός άρρητου ονόματος είναι συνήθως πιο βολική. Για παράδειγμα, εάν εξαιρέσετε συνδέσμους από το αριστερό πλαίσιο (έγγραφο left.htm), θα μπορούσατε να παραλείψετε το όνομα του πλαισίου "Two_Frames" που προσδιορίζεται κατά την περιγραφή της δομής του κύριου πλαισίου. Αυτό θα δημιουργούσε ένα πλαίσιο χωρίς όνομα, αλλά οι σύνδεσμοι από τα έγγραφα 1.htm και 2.htm με TARGET="_parent" θα εξακολουθούσαν να λειτουργούν σωστά.

Συμβουλή

Όποτε είναι δυνατόν, χρησιμοποιήστε σιωπηρή ονομασία πλαισίου. Για παράδειγμα, "γονέας", "επάνω", "εαυτός" αντί να προσδιορίσετε συγκεκριμένα ονόματα.


Ρύζι. 5.9.Παράθυρα πλαισίων που αλληλεπιδρούν με την επίδραση της αλλαγής των φορτωμένων εγγράφων

Διαφορά μεταξύ πλαισίων και παραθύρων προγράμματος περιήγησης

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

Ωστόσο, υπάρχει σημαντική διαφορά μεταξύ κουφωμάτων και παραθύρων. Με την οργάνωση πλαισίων, η διαίρεση της περιοχής προβολής σε πλαίσια πραγματοποιείται από το ίδιο το έγγραφο HTML, υποδεικνύοντας τις διαστάσεις και τη θέση τους. Κατά την προβολή, ο χρήστης μπορεί να αλλάξει το μέγεθος των πλαισίων, εκτός εάν αυτό απαγορεύεται στην περιγραφή της δομής τους. Η διάταξη των παραθύρων καθορίζεται από τους γενικούς κανόνες εργασίας με το σύστημα Windows - ο χρήστης μπορεί να επεκτείνει οποιοδήποτε παράθυρο σε πλήρη οθόνη, να το ελαχιστοποιήσει σε ένα εικονίδιο ή να ορίσει αυθαίρετα το μέγεθος και τη θέση του. Τα παράθυρα, σε αντίθεση με τα πλαίσια, μπορεί να επικαλύπτονται. Αυτή η πληθώρα επιλογών έχει το μειονέκτημά της - πρέπει να τοποθετείτε χειροκίνητα τα παράθυρα στην οθόνη κάθε φορά και να αλλάζετε το μέγεθός τους για να επιτύχετε τη βέλτιστη επιλογή προβολής. Στην περίπτωση των πλαισίων, η βέλτιστη αναλογία μεγέθους καθορίζεται συνήθως από τον προγραμματιστή στην περιγραφή της δομής του πλαισίου και συχνά δεν χρειάζεται να αλλάξει.

Συμβουλή

Αν και τα πλαίσια δεν μπορούν να παρέχουν όλες τις δυνατότητες για εργασία με μεμονωμένα παράθυρα, η ορθολογική οργάνωσή τους θα δημιουργήσει τη μέγιστη άνεση για τον χρήστη.

Η εργασία με παράθυρα έχει και άλλα μειονεκτήματα. Η δημιουργία κάθε παραθύρου απαιτεί πολλή μνήμη. Στο Netscape, κάθε παράθυρο είναι ουσιαστικά ένα άλλο αντίγραφο του προγράμματος περιήγησης, πλήρες με ένα πλήρες σύνολο κουμπιών και μενού. Η ίδια κατάσταση είναι τυπική για τον Microsoft Internet Explorer.

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

Πολλές δημοφιλείς εφαρμογές των Windows έχουν την έννοια του παραθύρου εγγράφων. Παραδείγματα περιλαμβάνουν τον επεξεργαστή κειμένου Microsoft Word ή το πρόγραμμα γραφικών Paint Shop Pro και πολλά άλλα. Κάθε μία από αυτές τις εφαρμογές επιτρέπει την ταυτόχρονη χρήση πολλών παραθύρων με δεδομένα και, κατά κανόνα, υπάρχει ένα μενού Παράθυρο, το οποίο παρέχει μια λίστα παραθύρων και δίνει τη δυνατότητα εναλλαγής μεταξύ τους. Η δημιουργία ενός νέου παραθύρου σε τέτοιες εφαρμογές συνήθως συμβαίνει κατά το άνοιγμα ενός υπάρχοντος αρχείου ή τη δημιουργία ενός νέου. Ωστόσο, σε αυτά τα προγράμματα, όταν δημιουργείται ένα νέο παράθυρο, δεν δημιουργείται νέα εργασία που εκτελείται.

Το Netscape διαθέτει επίσης ένα μενού Παράθυρο που εμφανίζει τα υπάρχοντα παράθυρα. (Στις εκδόσεις Netscape 4.x, αυτή η δυνατότητα παρέχεται από το στοιχείο Window στο μενού Communicator.) Ας επιστρέψουμε στην Εικ. 5.8. Σε αυτό το παράδειγμα, τρία παράθυρα είναι ανοιχτά ταυτόχρονα, καθένα από τα οποία είναι ουσιαστικά ένα ξεχωριστό πρόγραμμα περιήγησης. Ωστόσο, για τον χρήστη, είναι όλα παράθυρα του ίδιου προγράμματος περιήγησης που μπορούν να αλληλεπιδράσουν μεταξύ τους. Σε οποιοδήποτε από αυτά τα παράθυρα, μπορείτε να ανοίξετε το μενού Παράθυρο και να δείτε μια λίστα με τρία παράθυρα. Στο Σχ. Το σχήμα 5.10 δείχνει την κατάσταση όταν αυτό γίνεται για το κάτω παράθυρο.


Ρύζι. 5.10.Άνοιγμα Frame Windows στο πρόγραμμα περιήγησης Netscape

Κάθε παράθυρο μπορεί να κλείσει χωριστά (χρησιμοποιώντας την εντολή Κλείσιμο από το μενού Αρχείο). Για να ολοκληρώσετε την εργασία με το πρόγραμμα περιήγησης σε οποιοδήποτε παράθυρο, μπορείτε να ανοίξετε το μενού Αρχείο και να επιλέξετε Έξοδος (Εικ. 5.11).

Εάν ήταν ανοιχτά πολλά παράθυρα, τότε όλα θα κλείσουν, αλλά πριν από αυτό θα εμφανιστεί ένα προειδοποιητικό μήνυμα (Εικ. 5.12).

Κάθε παράθυρο του προγράμματος περιήγησης μπορεί να έχει τις δικές του ρυθμίσεις (αν και όχι όλες). Κοιτάξτε το σχ. 5.11. Δύο παράθυρα είναι ανοιχτά, το ένα από τα οποία χωρίζεται σε τρία πλαίσια. Το ίδιο έγγραφο φορτώνεται σε δύο από τα τρία καρέ, καθώς και σε ξεχωριστό παράθυρο. Η δυνατότητα ανεξάρτητης διαμόρφωσης των παραμέτρων κάθε παραθύρου σάς επιτρέπει να εμφανίζετε διαφορετικά το ίδιο έγγραφο. Στο παραπάνω παράδειγμα, το μέγεθος της γραμματοσειράς του εγγράφου σε ένα παράθυρο είναι μεγαλύτερο από το άλλο. Αυτό το αποτέλεσμα επιτυγχάνεται ορίζοντας διαφορετικές κωδικοποιήσεις για κάθε παράθυρο (το στοιχείο Κωδικοποίηση εγγράφου του μενού Επιλογές ή το στοιχείο Σύνολο χαρακτήρων του μενού Προβολή για την έκδοση 4.x), και οι δύο κωδικοποιήσεις χρησιμοποιούν την ίδια γραμματοσειρά, αλλά διαφορετικών μεγεθών. Η αλλαγή οποιουδήποτε στοιχείου στο μενού Γενικές Προτιμήσεις επηρεάζει όλα τα παράθυρα.


Ρύζι. 5.11.Έξοδος από το πρόγραμμα περιήγησης Netscape

Ρύζι. 5.12.Προειδοποίηση σχετικά με το κλείσιμο των παραθύρων στο πρόγραμμα περιήγησης Netscape

Πρόσθετες λειτουργίες του προγράμματος περιήγησης

Όλες οι παραπάνω ετικέτες περιγραφής πλαισίου με τις αντίστοιχες παραμέτρους υλοποιούνται σχεδόν πανομοιότυπα στα προγράμματα περιήγησης Netscape και Microsoft Internet Explorer, ωστόσο, καθένα από αυτά τα προγράμματα περιήγησης σάς επιτρέπει να χρησιμοποιείτε επιπλέον τις δικές του μοναδικές ετικέτες ή παραμέτρους.

Λειτουργίες προγράμματος περιήγησης Netscape

Το πρόγραμμα περιήγησης Netscape, ξεκινώντας με την έκδοση 3.0, επιτρέπει τρεις πρόσθετες επιλογές: BORDER, FRAMEBORDER και BORDERCOLOR. Η παράμετρος BORDER ισχύει μόνο για την ετικέτα . Η τιμή της παραμέτρου BORDER καθορίζει το πάχος των περιγραμμάτων μεταξύ των πλαισίων σε pixel.

Η παράμετρος FRAMEBORDER μπορεί να χρησιμοποιηθεί τόσο στην ετικέτα , και στην ετικέτα και καθορίζει την παρουσία πλαισίου μεταξύ των πλαισίων. Αυτή η παράμετρος μπορεί να είναι Ναι ή ΟΧΙ. Εάν η παράμετρος είναι γραμμένη στην ετικέτα , τότε το εφέ του ισχύει για όλα τα πλαίσια αυτής της ομάδας. Για ένα μεμονωμένο πλαίσιο, η τιμή μπορεί να παρακαμφθεί. Η προεπιλεγμένη τιμή είναι Ναι.

Σημειώστε ότι οι παράμετροι BORDER και FRAMEBORDER λειτουργούν ανεξάρτητα η μία από την άλλη. Για παράδειγμα, εάν το FRAMEBORDER έχει οριστεί σε ΟΧΙ και το BORDER έχει οριστεί σε τιμή διαφορετική από το μηδέν, τότε το περίγραμμα μεταξύ των πλαισίων δεν θα σχεδιαστεί, αλλά ο χώρος που καθορίζεται από την τιμή της παραμέτρου BORDER θα εξακολουθεί να εκχωρείται για αυτό.

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

Εδώ είναι ένα παράδειγμα:

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


Ρύζι. 5.13.Σχεδίαση περιγραμμάτων μεταξύ πλαισίων στο πρόγραμμα περιήγησης Netscape

Μεταξύ των παραθύρων πλαισίου "A" και "B", δεν σχεδιάζεται κανένα πλαίσιο λόγω της τιμής NO της παραμέτρου FRAMEBORDER, ωστόσο, το κόκκινο χρώμα ορίζεται για το πλαίσιο. Για το τελευταίο πλαίσιο "c", η τιμή FRAMEBORDER ορίζεται σε Ναι και αντικαθιστά την τιμή που έχει οριστεί στην πρώτη γραμμή. Επομένως, μεταξύ των πλαισίων που ονομάζονται "B" και "C", θα εξακολουθήσει να σχεδιάζεται ένα κόκκινο πλαίσιο με πάχος 10 pixel.

Σημείωση

Εάν τα όρια μεταξύ των πλαισίων δεν σχεδιάζονται, το πρόγραμμα περιήγησης Netscape δεν θα επιτρέψει την αλλαγή μεγέθους των πλαισίων σύροντάς τα με το ποντίκι, ακόμη και χωρίς την παράμετρο NORESIZE. Για τον Microsoft Internet Explorer η κατάσταση είναι διαφορετική.

Σημειώστε ότι τα πλαίσια χωρίς περιθώρια δεν χρησιμοποιούνται πολύ σπάνια. Θα πρέπει να θυμόμαστε ότι η απουσία πλαισίων δεν εμποδίζει την εμφάνιση ράβδων κύλισης (Εικ. 5.14).


Ρύζι. 5.14.Γραμμές κύλισης σε πλαίσιο χωρίς περιθώρια

Δυνατότητες προγράμματος περιήγησης Microsoft Internet Explorer

Το πρόγραμμα περιήγησης Microsoft Internet Explorer σάς επιτρέπει να χρησιμοποιείτε την παράμετρο FRAMEBORDER για τους ίδιους σκοπούς που περιγράφονται παραπάνω, αλλά δεν σας επιτρέπει να ορίσετε το χρώμα και το πάχος των πλαισίων. Ωστόσο, μόνο η αριθμητική τιμή "O" μπορεί να χρησιμοποιηθεί ως τιμή για την παράμετρο FRAMEBORDER για την ακύρωση του σχεδίου ενός πλαισίου ή μια μη μηδενική αριθμητική τιμή για τη σχεδίαση ενός πλαισίου.

Η διαφορά στους κανόνες για τη ρύθμιση των τιμών της παραμέτρου FRAMEBORDER για διαφορετικά προγράμματα περιήγησης είναι πολύ δυσάρεστη. Δοκιμάστε, για παράδειγμα, να ορίσετε FRAMEBORDER=Ναι. Αυτή η καταχώρηση είναι σωστή για το Netscape, αλλά για τον Microsoft Internet Explorer θα έχει ως αποτέλεσμα την απουσία πλαισίου. Το προηγούμενο παράδειγμα (Εικ. 5.13) όταν προβάλλεται στον Microsoft Internet Explorer θα παρουσιαστεί χωρίς πλαίσιο.

Συμβουλή

Συνιστάται να γράφετε πάντα την τιμή της παραμέτρου FRAMEBORDER σε αριθμητική μορφή, για παράδειγμα, FRAMEBORDER=0. Αυτό ακολουθεί τους κανόνες για τη σύνταξη μιας παραμέτρου για τον Microsoft Internet Explorer, αλλά παραβιάζει τους κανόνες για το Netscape (αν και γίνεται σωστά αντιληπτό από το τελευταίο).

Σημείωση

Εάν τα καρέ μεταξύ των πλαισίων δεν σχεδιάζονται, τότε το πρόγραμμα περιήγησης Microsoft Internet Explorer (σε αντίθεση με το Netscape), ελλείψει της παραμέτρου NORESIZE, θα σας επιτρέψει να «αγγίξετε» το μέγεθος των πλαισίων σύροντας τα καρέ με το ποντίκι. Μπορείτε να βρείτε τη θέση όπου πρέπει να βρίσκεται το πλαίσιο αλλάζοντας το σχήμα του δείκτη του ποντικιού.

Το πρόγραμμα περιήγησης Microsoft Internet Explorer επιτρέπει τη χρήση μιας πρόσθετης παραμέτρου FRAMESPACING που είναι γραμμένη στην ετικέτα , η τιμή του οποίου καθορίζει τον αριθμό των pixel μεταξύ των πλαισίων που θα μείνουν κενά.

Ας δώσουμε ένα παράδειγμα, το αποτέλεσμα εμφάνισης του οποίου φαίνεται στο Σχ. 5.15.

Αλλαγή της απόστασης μεταξύ των πλαισίων


Ρύζι. 5.15.Κενός χώρος μεταξύ πλαισίων στον Microsoft Internet Explorer

Σημείωση

Δυστυχώς, πολλές περιγραφές γλώσσας HTML λανθασμένα αναφέρουν ότι η παράμετρος FRAMESPACING πρέπει να χρησιμοποιείται στην ετικέτα . Ο Microsoft Internet Explorer επιτρέπει μόνο τη χρήση αυτής της παραμέτρου σε μια ετικέτα .

Πλωτά πλαίσια

Το πρόγραμμα περιήγησης Microsoft Internet Explorer επιτρέπει τη χρήση μιας μοναδικής ετικέτας . Στο TEGS

Ο Microsoft Internet Explorer είναι το πρώτο πρόγραμμα περιήγησης (και μέχρι στιγμής το μοναδικό) που υποστηρίζει τα λεγόμενα «αιωρούμενα» πλαίσια.

Αυτά τα πλαίσια μπορούν να τοποθετηθούν οπουδήποτε στην οθόνη, όπως τα γραφικά και οι πίνακες.

Το πλαίσιο στα δεξιά αυτού του κειμένου τοποθετείται στη σελίδα χρησιμοποιώντας μια ειδική ετικέτα

Παράδειγμα εγγράφου με αιωρούμενο πλαίσιο:



πλωτό πλαίσιο


πλωτό πλαίσιο


Το λεγόμενο "floating frame" έχει εισαχθεί σε αυτή τη σελίδα.
Σε ξεχωριστό παράθυρο, ανοίγει ένα άλλο έγγραφο html για εμφάνιση.



… … …




Noframes

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

Τώρα φανταστείτε ότι έχετε δημιουργήσει τον ιστότοπό σας χρησιμοποιώντας μια δομή πλαισίου και ορισμένοι επισκέπτες, ίσως χωρίς να ξέρουν ποιο είναι το πρόβλημα, προσπαθούν να ανοίξουν τον ιστότοπό σας και το πρόγραμμα περιήγησής τους εμφανίζει ένα σφάλμα! Τι θα σκεφτούν για τον ιστότοπό σας; Σκέφτομαι κάτι σαν: "Ουφ.. κάποια ανοησία.. δεν θα έρθω ξανά εδώ!"

Για να καταστεί σαφές στον χρήστη ότι οι ρυθμίσεις του προγράμματος περιήγησής του/του προγράμματος περιήγησης δεν υποστηρίζουν πλαίσια, υπάρχει μια ετικέτα </b> .</p> <p>Ετικέτα <b><noframes> </b>εμφανίζει το κείμενο που περικλείεται σε αυτό εάν το πρόγραμμα περιήγησης του χρήστη δεν υποστηρίζει πλαίσια ή είναι αναγκαστικά απενεργοποιημένα στις ρυθμίσεις του. Εάν τα πλαίσια υποστηρίζονται από το πρόγραμμα περιήγησης του χρήστη, τότε αυτή η ετικέτα απλώς αγνοείται.</p> <p> <html> <br> <head> <br> <title>πλαίσια</title> <br> </head> <br> <frameset cols="*,800,*" border="0"> <br><b><noframes>Λυπούμαστε, αλλά το πρόγραμμα περιήγησής σας δεν υποστηρίζει πλαίσια..











Το αποτέλεσμα του παραδείγματος θα είναι ορατό αν το πρόγραμμα περιήγησής σας δεν υποστηρίζει πραγματικά πλαίσια (εδώ πίστευα για πολύ καιρό.. :) αν είναι έτσι, τότε γιατί να διαβάσετε καθόλου αυτό το κεφάλαιο;) ή απενεργοποιήσατε την υποστήριξη πλαισίων στο πρόγραμμα περιήγησης ως πείραμα.

Ετικέτα </b>πρέπει να βρίσκεται μέσα σε μια ετικέτα <b><frameset> </b></p> <p>Με ένα αιωρούμενο πλαίσιο, όλα είναι ακόμα πιο απλά, απλώς γράψτε το επιθυμητό κείμενο μεταξύ <b><iframe> </iframe> </b>και αυτό το μήνυμα θα εμφανιστεί στην οθόνη εάν το πρόγραμμα περιήγησης δεν υποστηρίζει πλαίσια.</p> <p> <iframe src="primer.html" width="300" height="250" align ="left" scrolling="auto" frameborder="1"><b>Λυπούμαστε, αλλά το πρόγραμμα περιήγησής σας δεν υποστηρίζει πλαίσια..</b></iframe> </p> <ul><p>Πριν ξεκινήσετε τη δημιουργία μιας σελίδας χρησιμοποιώντας μια δομή πλαισίου, αναλύστε τη διάταξή της, το μέγεθος κάθε παραθύρου, την παρουσία ή την απουσία γραμμών κύλισης σε αυτές κ.λπ. Μετά από αυτό, μπορείτε να δημιουργήσετε αρχεία HTML προσθηκών χωρίς να ανησυχείτε ιδιαίτερα για το σχετικό τους θέση σε σχέση μεταξύ τους.</p><p>Χρήση ετικέτας <b><noframes> </b>. Να θυμάστε ότι εάν στο πρόγραμμα περιήγησής σας ο ιστότοπος λειτουργεί και εμφανίζεται όπως σκοπεύατε, τότε για άλλους χρήστες τα πράγματα μπορεί να είναι διαφορετικά!</p> </ul> <p>Παρά το γεγονός ότι οι ιστότοποι με πλαίσια γίνονται όλο και πιο σπάνιοι, η εκμάθηση HTML θα ήταν ελλιπής χωρίς να ληφθεί υπόψη το θέμα των πλαισίων. Επιπλέον, τα πλαίσια, κατά μία έννοια, έχουν καταλάβει τη θέση τους και χρησιμοποιούνται για συστήματα διαχείρισης και βοήθειας. Όπου τα μειονεκτήματα των πλαισίων δεν είναι ιδιαίτερα σημαντικά, αλλά τα πλεονεκτήματα, αντίθετα, είναι ενεργά σε ζήτηση.</p> <p>Η ετικέτα χρησιμοποιείται για τη δημιουργία ενός πλαισίου <frameset>, το οποίο αντικαθιστά την ετικέτα <body>σε ένα έγγραφο και χρησιμοποιείται για τη διαίρεση της οθόνης σε περιοχές. Μέσα σε αυτήν την ετικέτα υπάρχουν ετικέτες <frame>, τα οποία δείχνουν προς το έγγραφο HTML που πρόκειται να φορτωθεί στην περιοχή (Εικόνα 13.1).</p> <p>Ρύζι. 13.1. Παράδειγμα διαχωρισμού ενός παραθύρου προγράμματος περιήγησης σε δύο πλαίσια</p> <p>Όταν χρησιμοποιείτε πλαίσια, χρειάζεστε τουλάχιστον τρία αρχεία HTML: το πρώτο ορίζει τη δομή του πλαισίου και χωρίζει το παράθυρο του προγράμματος περιήγησης σε δύο μέρη και τα υπόλοιπα δύο έγγραφα φορτώνονται στα καθορισμένα παράθυρα. Ο αριθμός των καρέ δεν είναι απαραίτητα ίσος με δύο, ίσως περισσότερα, αλλά όχι λιγότερα από δύο, διαφορετικά η έννοια της χρήσης καρέ χάνεται εντελώς.</p> <p>Ας εξετάσουμε τα στάδια δημιουργίας πλαισίων με βάση τη σελίδα που φαίνεται στο Σχ. 13.1. Θα χρειαστούμε τρία αρχεία: index.html - ορίζει τη δομή του εγγράφου, menu.html - φορτώνεται στο αριστερό πλαίσιο και content.html - φορτώνεται στο δεξί πλαίσιο. Από αυτά, μόνο το index.html διαφέρει στη δομή του κώδικά του από άλλα αρχεία (παράδειγμα 13.1).</p> <p>Παράδειγμα 13.1. αρχείο index.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Κορνίζες</title> </head> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </html> </p><p>Εάν χρησιμοποιούνται πλαίσια, ο ακόλουθος τύπος εγγράφου γράφεται στην πρώτη γραμμή κώδικα.</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> </p><p>ο<!DOCTYPE>λέει στο πρόγραμμα περιήγησης ότι έχει να κάνει με πλαίσια, αυτή η γραμμή κώδικα απαιτείται. Δοχείο <head>περιέχει τυπικές πληροφορίες όπως κωδικοποίηση σελίδας και τίτλο εγγράφου. Απλώς έχετε κατά νου ότι η κεφαλίδα παραμένει η ίδια όσο τα αρχεία HTML ανοίγουν μέσα σε πλαίσια.</p> <p>Σε αυτό το παράδειγμα, το παράθυρο του προγράμματος περιήγησης χωρίζεται σε δύο στήλες χρησιμοποιώντας το χαρακτηριστικό cols, με την αριστερή στήλη να καταλαμβάνει 100 εικονοστοιχεία και τη δεξιά στήλη να καταλαμβάνει τον υπόλοιπο χώρο που καθορίζεται από το σύμβολο του αστερίσκου. Το πλάτος ή το ύψος των πλαισίων μπορεί επίσης να οριστεί ως ποσοστό, παρόμοια με τους πίνακες.</p> <p>Στην ετικέτα <frame>Το όνομα του αρχείου HTML που έχει φορτωθεί στην καθορισμένη περιοχή καθορίζεται χρησιμοποιώντας το χαρακτηριστικό src. Ένα αρχείο που ονομάζεται menu.html θα φορτωθεί στο αριστερό παράθυρο (Παράδειγμα 13.2) και το content.html θα φορτωθεί στο δεξιό παράθυρο (Παράδειγμα 13.3). Συνιστάται να δίνετε σε κάθε πλαίσιο ένα μοναδικό όνομα, ώστε τα έγγραφα να μπορούν να φορτωθούν στο καθορισμένο παράθυρο χρησιμοποιώντας το χαρακτηριστικό name.</p> <p>Παράδειγμα 13.2. Μενού αρχείου.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Πλοήγηση στον ιστότοπο</title> </head> <body style="background: #f0f0f0"> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Σε αυτό το παράδειγμα, το γκρι φόντο στη σελίδα ορίζεται χρησιμοποιώντας στυλ, τα οποία θα συζητηθούν αργότερα.</p> <p>Παράδειγμα 13.3. Αρχείο περιεχομένου.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Περιεχόμενο ιστότοπου</title> </head> <body> <p>ΠΕΡΙΕΧΟΜΕΝΟ</p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Ας εξετάσουμε ένα πιο σύνθετο παράδειγμα με τρία πλαίσια (Εικ. 13.2).</p> <p><img src='https://i0.wp.com/htmlbook.ru/files/images/samhtml/fig_1_13_2.png' width="100%" loading=lazy loading=lazy></p> <p>Ρύζι. 13.2. Χωρίζοντας μια σελίδα σε τρία πλαίσια</p> <p>Σε αυτήν την περίπτωση, η ετικέτα χρησιμοποιείται ξανά <frameset>, αλλά δύο φορές, με τη μία ετικέτα να βρίσκεται μέσα στην άλλη. Η οριζόντια κατάτμηση δημιουργείται μέσω του χαρακτηριστικού rows, όπου χρησιμοποιείται συμβολισμός ποσοστού για ποικιλία (Παράδειγμα 13.4).</p> <p>Παράδειγμα 13.4. Τρία πλαίσια</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Κορνίζες</title> </head> <frameset rows="25%,75%"> <frame src="top.html" name="TOP" scrolling="no" noresize> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </frameset> </html> </p><p>Όπως φαίνεται από αυτό το παράδειγμα, το δοχείο <frameset>με το χαρακτηριστικό rows δημιουργεί πρώτα δύο οριζόντια πλαίσια, αλλά αντικαθιστά το δεύτερο πλαίσιο με ένα άλλο <frameset>, το οποίο επαναλαμβάνει τη δομή που ήδη γνωρίζετε από το Παράδειγμα 13.1. Για να αποτραπεί η εμφάνιση μιας κάθετης γραμμής κύλισης και ο χρήστης να μην μπορεί να αλλάξει ανεξάρτητα το μέγεθος του επάνω πλαισίου, προστέθηκαν τα χαρακτηριστικά scrolling="no" και noresize.</p> <p><i> </i> 07.12.2015</p> <p>Οχι ακόμα</p> <br><p>Γεια σε όλους! <br>Συνεχίζουμε να μελετάμε επιμελώς τα βασικά της HTML. Χαίρομαι που δεν εγκαταλείπεις τα μαθήματά σου.</p> <p>Σε αυτό το μάθημα θα εξετάσουμε <b>τι είναι τα πλαίσια</b>και πώς δημιουργούνται σε HTML. <br>Λοιπόν, ας ορίσουμε τι είναι τα πλαίσια σε HTML. <br><b>Κορνίζες</b>- Αυτή είναι η διαίρεση του παραθύρου του προγράμματος περιήγησης σε ξεχωριστές περιοχές στις οποίες μπορούν να φορτωθούν μεμονωμένα έγγραφα HTML.</p> <p>Νομίζω ότι καταλαβαίνετε ότι χάρη στα πλαίσια, μπορείτε να προβάλετε πολλές ιστοσελίδες ταυτόχρονα σε ένα παράθυρο του προγράμματος περιήγησης.</p> <p>Ως παράδειγμα, για να κατανοήσετε πώς λειτουργεί το πλαίσιο στην πράξη, προτείνω να δείτε ένα παράδειγμα. Κάντε μερικές μεταβάσεις εκεί:</p> <p>Λοιπόν, τι νομίζεις? Θέλετε να μάθετε πώς να το δημιουργήσετε; Τώρα θα μάθουμε <b>εισαγωγή πλαισίων σε έγγραφο html</b>.</p> <p>Ένα πλαίσιο σε μια ιστοσελίδα δημιουργείται χρησιμοποιώντας την ακόλουθη διάταξη:</p><p> <frameset> <frame> <frame> </frameset> </p><blockquote><p><b>Προσοχή:</b>η διάταξη κώδικα πλαισίου εισάγεται στο έγγραφο html αντί για την ετικέτα <bode><script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> :</p> </blockquote> <html> <head> <title>Κορνίζες</title> </head> <frameset> <frame> <frame> </frameset> </html> <p>○ <b>ετικέτα συνόλου πλαισίων</b></p> <p>Αυτό είναι το κύριο δοχείο για τη δημιουργία ενός πλαισίου, μέσα στο οποίο περιέχονται άλλα στοιχεία. <br>Απαιτείται η ετικέτα κλεισίματος.</p><p> <frameset></frameset> </p><p><i><b>*Χαρακτηριστικά της ετικέτας συνόλου πλαισίων:</b> </i> </p> <ul><li>Cols - κάθετη</li> <li>Σειρές - οριζόντιες</li> </ul><p><b>σειρές</b>- οριζόντια</p> <p><img src='https://i2.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-1.png' height="125" width="181" loading=lazy loading=lazy></p> <p><b>cols</b>- κάθετα</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-2.png' height="127" width="185" loading=lazy loading=lazy></p> <p>Τα χαρακτηριστικά cols και rows υποδεικνύουν σε πόσα μέρη πρέπει να χωριστεί το παράθυρο του προγράμματος περιήγησης. Για παράδειγμα, για να χωρίσετε το παράθυρο του προγράμματος περιήγησης σε δύο κάθετα μέρη, πρέπει να γράψετε ως εξής:</p><p> <frameset cols="30%,*"> </p><p>Η αριστερή πλευρά της οθόνης θα έχει μέγεθος 30% και η δεξιά πλευρά θα είναι 70%.</p> <p>Εάν θέλετε να διαιρέσετε το πρόγραμμα περιήγησης σε πολλά ακόμη μέρη, προσθέστε πρόσθετες διαστάσεις διαχωρισμένες με κόμματα, για παράδειγμα, ως εξής:</p><p> <frameset cols="30%,20%,10%,40%"> </p><p>Ως αποτέλεσμα, το πρώτο <span>κάθετη στήλη</span>θα έχει πλάτος 30%, το δεύτερο - 20%, το τρίτο - 10%, το τέταρτο - 40%.</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-3.png' width="100%" loading=lazy loading=lazy></p> <p>Το έπιασα?</p> <p>Το ίδιο ισχύει και για την οριζόντια διάταξη:</p><p> <frameset rows="30%,20%,10%,40%"> </p><p>Η πρώτη οριζόντια στήλη θα έχει πλάτος 30%, η δεύτερη - 20%, η τρίτη - 10%, η τέταρτη - 40%.</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-4.png' height="199" width="390" loading=lazy loading=lazy></p> <p>○ <b>ετικέτα πλαισίου</b></p> <p>Η ετικέτα πλαισίου καθορίζει ποιο έγγραφο HTML πρέπει να φορτωθεί στο παράθυρο του προγράμματος περιήγησης. <br>Για παράδειγμα, πρέπει να φορτώσουμε τρεις διαφορετικές σελίδες "1.html", "2.html", "3.html" σε ένα παράθυρο του προγράμματος περιήγησης. Η ετικέτα πλαισίου θα μοιάζει με αυτό:</p><p> <frame src="1.html"> <frame src="2.html"> <frame src="3.html"> </p><p>Ας συνοψίσουμε τις γνώσεις για τα πλαίσια. Έτσι, η εργασία: πρέπει να διαιρέσετε το παράθυρο του προγράμματος περιήγησης σε δύο μέρη και να φορτώσετε δύο ιστοσελίδες σε αυτά τα μέρη - "1.html" κατά 30%, "2.html" κατά 70%. <br>Εδώ είναι ο ολοκληρωμένος κώδικας:</p><p> <frameset cols="30%,*"> <frame src="1.html"> <frame src="2.html"> </frameset> </p><p>Το αποτέλεσμα θα είναι ως εξής:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-5.png' width="100%" loading=lazy loading=lazy></p> <p><i><b>* Χαρακτηριστικά ετικέτας πλαισίου</b> </i> </p> <ul><li>src – διεύθυνση ιστοσελίδας. <i>src="1.html"</i> ;</li> <li>marginwidth – περιθώριο μέσα στο πλαίσιο κατά μήκος του πλάτους. Παράδειγμα: <i>marginwidth = "10"</i> ;</li> <li>marginhight – περιθώριο ύψους μέσα στο πλαίσιο. Παράδειγμα: <i>marginhight = "10"</i> ;</li> <li>κύλιση – κύλιση του πλαισίου μέσα από την κύλιση. <br>- ναι - η κύλιση θα υπάρχει στο πλαίσιο. Παράδειγμα: <i>κύλιση = "ναι"</i> ;<br>- όχι - δεν θα υπάρχει κύλιση στο πλαίσιο. Παράδειγμα: <i>κύλιση = "όχι"</i> ;<br>- αυτόματη – κύλιση θα υπάρχει στο πλαίσιο εάν είναι απαραίτητο. Παράδειγμα: <i>scrolling="auto"</i> ;</li> <li>noresize – απαγορεύει τη μετακίνηση περιγραμμάτων πλαισίου.</li> <li>όνομα – όνομα πλαισίου. Καθορίζει σε ποιο παράθυρο θα πρέπει να ανοίγουν άλλα πλαίσια. Παράδειγμα: <i>όνομα = "site"</i> ;</li> </ul> <p>Εάν δεν καθορίσετε ένα όνομα για το πλαίσιο στο χαρακτηριστικό "όνομα", τότε όταν κάνετε κλικ στον σύνδεσμο, θα ανοίξει ένα νέο πλαίσιο στο παράθυρο όπου βρισκόταν ο σύνδεσμος:</p> <p>Ακολουθεί ένα παράδειγμα εάν προσθέσετε το χαρακτηριστικό "όνομα":</p> <p>Δεν είναι καλύτερα; <br>Για οποιοδήποτε πλαίσιο, προσθέστε το χαρακτηριστικό "όνομα" όπου θέλετε να ανοίγουν άλλα έγγραφα HTML σε αυτό</p><p> <frame src="2.html "name ="сайт"> </p><p>Το όνομα στο χαρακτηριστικό "όνομα" μπορεί να είναι οτιδήποτε. Αλλά στο μέλλον, εάν δώσετε ονόματα σε άλλες ετικέτες "πλαισίου", να θυμάστε ότι κάθε μία πρέπει να είναι μοναδική:</p><p> <frame src="2..html "name ="bloggood-ru"> <frame src="3.html "name ="nocrisise-ru"> </p><p>σελίδα 2 σελίδα 3</p><p>Οι "Σελίδα 1", "Σελίδα 2" θα ανοίξουν σε ένα παράθυρο όπου καθορίσατε το όνομα για το πλαίσιο "όνομα =" <span>ιστοσελίδα"</span>" και "Σελίδα 3" θα ανοίξει σε άλλο πλαίσιο, όπου το όνομα "όνομα =" <span>bloggood-ru "</span>»</p> <p><b>ΠΡΑΚΤΙΚΗ</b></p> <p>Εργασία: Πρέπει να δημιουργήσετε πλαίσια χρησιμοποιώντας αυτήν τη διάταξη:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-6.png' width="100%" loading=lazy loading=lazy></p> <p>Αρχικά, ας δημιουργήσουμε τρία οριζόντια πλαίσια:</p><p> <frameset rows="15%,*,15%"> </frameset> </p><p>Τώρα ας προσθέσουμε τα "top.html" και "footer.html"</p><p> <frameset rows="15%,*,15%"> <frame src="top.html"> <frame src="footer.html"> </frameset> </p><p>Το αποτέλεσμα μέχρι στιγμής θα είναι το εξής:</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-7.png' width="100%" loading=lazy loading=lazy></p> <p>Τώρα μεταξύ "top.html" και "footer.html" θα προσθέσουμε τα "menu.html" και "content.html":</p><p> <frameset rows="15%,*,15%"> <frame src="top.html"> <frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html" name="main"> </frameset> <frame src="footer.html"> </frameset> </p><p>Κωδικός έτοιμος:</p><p> <html> <head> <title>Κορνίζες</title> </head> <frameset rows="15%,*,15%"> <frame src="top.html"> <frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html" name="main"> </frameset> <frame src="footer.html"> </frameset> </html> </p><p>Αποθηκεύστε το αρχείο ως "index.html"</p> <p>Δημιουργήστε τις σελίδες "top.html", "footer.html", "menu.html" και "content.html":</p> <p>Κωδικός αρχείου "top.html"</p><p> <html> <head> <title>κεφαλίδα ιστότοπου</title> </head> <body bgcolor="#b2f2ff" text="#0000FF"> <h1>δικτυακός τόπος</h1> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Κωδικός του αρχείου "footer.html"</p><p> <html> <head> <title>Αρχείο υποσέλιδο.html</title> </head> <body bgcolor="#b2f2ff" text="#000000">StepkinBlog.com © 2015<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Κωδικός αρχείου "menu.html"</p><p> <html> <head> <title>Αρχείο μενού.html – μενού τοποθεσίας</title> </head> <body bgcolor="#b2bbff" text="#112cf5"> <ul> <li>Αρχική σελίδα</li> <li>Σχετικά με τον Συγγραφέα</li> </ul> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Κωδικός του αρχείου "content.html":</p><p> <html> <head> <title>Αρχική σελίδα</title> </head> <body bgcolor="#e3e5f8" text="#FF0055"> <h1>Αρχική σελίδα</h1>Περιεχόμενο ιστότοπου - "Αρχική σελίδα (content.html)"<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Κωδικός του αρχείου "autor.html":</p><p>Αυτό είναι το αποτέλεσμα που πήρα:</p> <p>Ας χρησιμοποιήσουμε τα χαρακτηριστικά «πλαίσιο» και ας απενεργοποιήσουμε τη μη αυτόματη επέκταση των πλαισίων και ας καταργήσουμε την κύλιση στο αρχείο «index.html».</p><p> <frameset rows="15%,*,15%"> <frame src="top.html" scrolling ="no" noresize> <frameset cols="25%,75%"> <frame src="menu.html"scrolling ="no" noresize> <frame src="content.html" name="main"scrolling ="no" noresize> </frameset> <frame src="footer.html" noresize> </frameset> </p><p><b>○ τι να κάνετε εάν τα πλαίσια δεν υποστηρίζονται από το πρόγραμμα περιήγησης; <br></b><br>Μπορείτε να εμφανίσετε ένα μήνυμα στον χρήστη ότι το πρόγραμμα περιήγησής του δεν υποστηρίζει πλαίσια. Για να το κάνετε αυτό, εισάγετε την ετικέτα <noframes>μέσα στη δομή <frameset> :</p><p> <frameset rows="15%,*,15%"> <noframes>

○ Πλωτό πλαίσιο

Εάν χρειάζεται να εισαγάγετε ένα παράθυρο iframe απευθείας σε μια σελίδα που δεν έχει δομή πλαισίου, υπάρχει μια ετικέτα "iframe" για αυτό.

* Χαρακτηριστικά ετικέτας "iframe".

  • src - διαδρομή προς τη σελίδα προς άνοιγμα
  • πλάτος - πλάτος του πλωτού πλαισίου
  • ύψος - αιωρούμενο ύψος πλαισίου
  • κύλιση - γραμμή κύλισης
    - όχι - να μην εμφανίζεται ποτέ η γραμμή κύλισης
    - ναι - να δείχνει πάντα
    - αυτόματη - εμφάνιση εάν είναι απαραίτητο
  • ευθυγράμμιση - ευθυγράμμιση αιωρούμενου πλαισίου
    - αριστερά - αριστερά
    - δεξιά - δεξιά
    - πάνω – ψηλότερα
    - κάτω - κάτω
  • πλαίσιο πλαισίου - περίγραμμα γύρω από αιωρούμενο πλαίσιο
    - 1 - ενεργοποιήστε το πλαίσιο
    - 0 - απενεργοποιήστε το πλαίσιο

Έτσι θα μοιάζει η ετικέτα "iframe" με χαρακτηριστικά:

Εάν το πρόγραμμα περιήγησής σας δεν υποστηρίζει πλαίσια, μπορείτε να εισαγάγετε το κείμενο " Ουπς! Ο περιηγητής σας δεν υποστηρίζει πλαίσια. » μεταξύ ετικετών .
Θα μοιάζει με αυτό:

Για παράδειγμα, ας προσθέσουμε ένα iframe στο αρχείο "content.html":

Αρχική σελίδα

Αρχική σελίδα

Περιεχόμενο ιστότοπου - "Αρχική σελίδα (περιεχόμενο! Το πρόγραμμα περιήγησής σας δεν υποστηρίζει πλαίσια.

Προηγούμενη ανάρτηση
Επόμενη καταχώρηση



 


Ανάγνωση:



Μίνι τεστ τεχνικής σκέψης

Μίνι τεστ τεχνικής σκέψης

Ολοκληρωμένη διάγνωση των γενικών ικανοτήτων των εφήβων στο πλαίσιο της εξειδικευμένης εκπαίδευσης ΜΕΡΟΣ ΙΙΙ 3. Διαγνωστικά της γνωστικής σφαίρας 3.3. Δοκιμή...

Δωρεάν υποβολή αγγελίας για πώληση διαμερίσματος, κατοικίας και λοιπών ακινήτων Υποβολή αγγελίας για γρήγορη πώληση κατοικίας

Δωρεάν υποβολή αγγελίας για πώληση διαμερίσματος, κατοικίας και λοιπών ακινήτων Υποβολή αγγελίας για γρήγορη πώληση κατοικίας

Η πώληση ενός σπιτιού είναι μια περίπλοκη διαδικασία που απαιτεί να ληφθούν υπόψη ορισμένες αποχρώσεις. Για να επιταχυνθεί η διαδικασία, οι ειδικοί συμβουλεύουν να απευθυνθείτε σε επαγγελματίες. Ωστόσο...

Κερδίζοντας χρήματα από την ανάγνωση επιστολών Διαβάζοντας γράμματα αλλά ανταμοιβές

Κερδίζοντας χρήματα από την ανάγνωση επιστολών Διαβάζοντας γράμματα αλλά ανταμοιβές

Ο απλούστερος τρόπος για να κερδίσετε χρήματα στο Διαδίκτυο, όπου μπορείτε να ξεκινήσετε να εργάζεστε, είναι να κερδίσετε χρήματα διαβάζοντας διαφημιστικές επιστολές που σας στέλνουν οι διαφημιστές...

Υλικό με θέμα: Πρόγραμμα συναυλίας "Με όλη μου την καρδιά" τηλεοπτική εκπομπή με όλη μου την καρδιά όλα τα επεισόδια

Υλικό με θέμα: Πρόγραμμα συναυλίας

Γενικά, το πρόγραμμα μίλησε για τα απρόβλεπτα και περίπλοκα πεπρωμένα των σοβιετικών ανθρώπων. Οι περισσότεροι θεατές δεν μπόρεσαν να συγκρατήσουν τα δάκρυά τους όταν...

τροφοδοσία-εικόνα RSS