Αυτήν τη στιγμή είστε εκτός σύνδεσης, σε αναμονή για επανασύνδεση στο Internet

Ο Internet Explorer δεν εκτελεί κώδικα όταν ένα πρόγραμμα χειρισμού συμβάντων ορίζεται να κάνει απευθείας αναφορά σε μια συνάρτηση DOM μετά την εγκατάσταση της ενημερωμένης έκδοσης ασφαλείας MS04-038

Περίληψη
Η ενημερωμένη έκδοση ασφαλείας 834707 περιλαμβάνει μια αλλαγή στον τρόπο με τον οποίο ο Internet Explorer χειρίζεται τους δείκτες συναρτήσεων. Αυτή η αλλαγή στη λειτουργία προκύπτει όταν ένα πρόγραμμα χειρισμού συμβάντων οδηγεί απευθείας σε μια συνάρτηση DOM (Document Object Model). Αυτό το άρθρο περιγράφει το ζήτημα και παρέχει διάφορους εναλλακτικούς τρόπους αντιμετώπισης.
Συμπτώματα
Ο Microsoft Internet Explorer δεν εκτελεί κώδικα προγράμματος-πελάτη που σχετίζεται με ένα πρόγραμμα χειρισμού συμβάντων το οποίο ορίζεται απευθείας σε μια συνάρτηση DOM.
Αιτία
Η ενημερωμένη έκδοση ασφαλείας MS04-038 περιλαμβάνει μια αλλαγή στον τρόπο με τον οποίο ο Internet Explorer χειρίζεται τους δείκτες συναρτήσεων. Αυτή η αλλαγή στη λειτουργικότητα παρουσιάζεται όταν ένα πρόγραμμα χειρισμού συμβάντων οδηγεί απευθείας σε μια συνάρτηση DOM:
on<event> = DOM function pointer
Εναλλακτικός τρόπος αντιμετώπισης
Για να αντιμετωπίσετε αυτήν την αλλαγή στη λειτουργικότητα του Internet Explorer, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:
  • Καλέστε απευθείας τη συνάρτηση, χρησιμοποιώντας JavaScript:

    Αρχικός κώδικας:
    <A href=# onclick=window.close>Close this window</A>
    Διορθωμένος κώδικας:
    <A href=# onclick="window.close()">Close this window</A>
  • Αποθηκεύστε το δείκτη συνάρτησης σε μια μεταβλητή και ορίστε μια άλλη συνάρτηση για κλήση της μεταβλητής. Τα ακόλουθα παραδείγματα χρησιμοποιούν το συμβάν onclick για το κλείσιμο ενός παραθύρου:

    Αρχικός κώδικας:
    <A href=# onclick=window.close>Close this window</A>
    Διορθωμένος κώδικας:
    <script>var my_funcptr = window.close;function FunctionPointerInvoker(){    my_funcptr();}</script><A href=# onclick="FunctionPointerInvoker()">Close this window</A>
Κατάσταση
Αυτή η συμπεριφορά οφείλεται στη σχεδίαση.
Αναφορές
Για πρόσθετες πληροφορίες σχετικά με την ενημερωμένη έκδοση ασφαλείας MS04-038, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
834707 MS04-038: Αθροιστική ενημερωμένη έκδοση ασφαλείας για τον Internet Explorer
Ιδιότητες

Αναγνωριστικό άρθρου: 887741 - Τελευταία αναθεώρηση: 12/17/2004 12:21:00 - Αναθεώρηση: 2.0

Microsoft Internet Explorer 5.01, Microsoft Internet Explorer 5.5, Microsoft Internet Explorer (Programming) 6.0

  • kbtshoot kbprb KB887741
Σχόλια