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

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 887741 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Η ενημερωμένη έκδοση ασφαλείας 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 - Τελευταία αναθεώρηση: Παρασκευή, 17 Δεκεμβρίου 2004 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer (Programming) 6.0
Λέξεις-κλειδιά: 
kbtshoot kbprb KB887741

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com