Erreur d’autorisation refusée lors de la lecture des propriétés d’un objet Emplacement d’application HTML

Avertissement

L’application de bureau Internet Explorer 11, mise hors service et dont le support a pris fin, a été désactivée définitivement via une mise à jour Microsoft Edge sur certaines versions de Windows 10. Pour plus d’informations, consultez le forum aux questions sur la mise hors service de l’application de bureau Internet Explorer 11.

Cet article fournit de nombreuses méthodes pour résoudre le message d’erreur Autorisation refusée qui se produit si vous lisez les propriétés de l’objet Location qui se trouve à l’intérieur d’une application HTML (HTA).

Version d’origine : Internet Explorer
Numéro de la base de connaissances d’origine : 816885

Symptômes

Lorsque vous lisez certaines propriétés de l’objet Location qui se trouve à l’intérieur d’une application HTML (HTA), vous pouvez recevoir un message d’erreur Autorisation refusée . Les propriétés pertinentes de l’objet Location sont les suivantes :

  • Location.href
  • Location.hostname
  • Location.reload

Remarque

Vous pouvez remarquer cette erreur uniquement si vous utilisez un script de configuration automatique dans les paramètres réseau local (LAN) de Microsoft Internet Explorer.

Si les outils de débogage sont installés sur votre ordinateur, le message d’erreur suivant peut s’afficher :

Une erreur d’exécution s’est produite. Voulez-vous déboguer ? Erreur de ligne 12 : Autorisation refusée

Si les outils de débogage ne sont pas installés sur votre ordinateur, le message d’erreur suivant peut s’afficher :

Une erreur s’est produite dans le script de cette page. Ligne : 13 Char : 2 Erreur : Autorisation refusée Code : 0 URL : http://WebServer/FileName.hta Voulez-vous continuer à exécuter des scripts sur cette page ?

Remarque

Vous pouvez remarquer ce problème uniquement si votre script de configuration automatique a la valeur DIRECT.

Résolution

Pour résoudre ce problème, utilisez l’une des méthodes suivantes :

Remarque

Les méthodes suivantes sont basées sur l’exemple mentionné dans la section Étapes pour reproduire le comportement de cet article. Par conséquent, le code et les noms de fichiers dans ces méthodes peuvent différer de votre code et de vos noms de fichiers.

  • Codez en dur un serveur proxy dans les paramètres serveur proxy d’Internet Explorer au lieu d’utiliser un script de configuration automatique, puis appuyez sur F5 pour actualiser l’assistant HTA dans le navigateur.
  • Utilisez un nom d’hôte au lieu d’un nom de domaine complet (FQDN) pour accéder au chemin d’accès à l’HTA.
  • Utilisez une adresse IP pour accéder à l’HTA.
  • Ajoutez le site Web auquel vous accédez à la zone Approuvée ou à la zone Restreinte.
  • N’utilisez pas l’objet Location dans votre code.
  • Cliquez pour effacer la zone Inclure tous les sites qui contournent le serveur proxy case activée dans les paramètres de sécurité d’Internet Explorer.

Procédures pour reproduire le problème

  1. Démarrez Internet Explorer.

  2. Dans le menu Outils, cliquez sur Options Internet.

  3. Sous l’onglet Connections, cliquez sur Paramètres LAN.

  4. Dans la boîte de dialogue Paramètres de réseau local (LAN), cliquez pour sélectionner la zone Utiliser le script de configuration automatique case activée. Assurez-vous qu’aucune des autres zones case activée n’est sélectionnée.

  5. Dans la zone Adresse , tapez le chemin du script de configuration automatique.

  6. Utilisez le Bloc-notes pour créer un fichier texte nommé Default.hta.

  7. Ajoutez le code HTML suivant au fichier Default.hta :

    <html>
        <head>
            <title>HTA Location.href bug reproduction</title>
            <HTA:APPLICATION ID="oBugRepro" APPLICATIONNAME="BugRepro">
                <SCRIPT LANGUAGE="JavaScript">
                    function ShowFrame() {
                        var strLocation;
                        strLocation = top.fraTabs.location.href;
                    }
                </SCRIPT>
        </head>
        <frameset id="fstWorkAreaMain" name="fstWorkAreaMain" rows="40%,60%">
            <frame src="about:blank" id="fraTabs" name="fraTabs" APPLICATION="yes">
                <frame src="Main.htm" id="fraMain" NAME="fraMain" APPLICATION="yes">
        </frameset>
    </html>
    
  8. Utilisez le Bloc-notes pour créer un fichier texte nommé Main.htm.

  9. Ajoutez le code HTML suivant au fichier Main.htm :

    <HTML>
        <BODY style="background-color:gainsboro">
            <P>Main frame</P>
            <input id="cmdButton" type="button" onclick="top.ShowFrame()"
                value="Click me to reproduce the behavior"></input>
        </BODY>
    </HTML>
    
  10. Placez les deux fichiers, Default.hta et Main.htm, dans un répertoire virtuel nommé HTARepro sur un serveur web.

  11. Vérifiez que vous avez activé l’accès anonyme au contenu du répertoire virtuel HTARepro.

  12. Tapez la commande suivante à l’invite de commandes :

    mshta.exe http://WebServer/HTARepro/Default.hta
    

    Remarque

    Remplacez par WebServer le nom de domaine complet du serveur Web que vous utilisez.

  13. Dans l’application HTA, cliquez sur Cliquer sur moi pour reproduire le comportement. Vous recevez l’un des messages d’erreur mentionnés dans la section Symptômes de cet article.

References

Pour plus d’informations, consultez Présentation des applications HTML (HTAs).