Erreur de Script Internet Explorer, le Message de la Page web, le refus d'une Autorisation
Je travaille avec un embedded (Active X?) exemple d'IE au sein d'une application VB6.
Le navigateur affiche des informations démographiques en fonction de la personne sélectionnée (affichés sous forme de liste).
Tout fonctionne très bien jusqu'à ce que j'essaie de sélectionner rapidement les différentes personnes de la liste (en cliquant au hasard sur différentes personnes aussi vite que je le peux). Après quelques clics, vous obtenez deux erreurs.
Le premier est un "Erreur de Script Internet Explorer"
Il dit:
Une Erreur est survenue sur le script de cette page
Ligne:
Char:
Erreur:
Code:
URL:
Voulez-vous continuer à exécuter des scripts sur cette page? oui|Non
(Ligne, Char, l'Erreur, le Code, les URL sont tous vide).
Le deuxième message d'erreur s'affiche directement sur le premier.
Il dit:
"Message de la page web
Une erreur s'est produite dans cette boîte de dialogue
Erreur:53 Permission denied"
La page fait plusieurs appels ajax et contient également plusieurs iFrames (je suis en train de penser ces sont la cause).
Des conseils sur la façon de déboguer /resolve /éviter le problème serait le plus apprécié.
Merci!
MODIFIER
Voici une image de l'erreur
MODIFIER
- Je obtenir un JScript fonction anonyme, Aucune source disponible quand j'arrive à intercepter l'erreur.
MODIFIER
J'ai réussi à prendre quelques erreurs. Il semble qu'ils soient, découlant principalement de MicrosoftAjax.js
- Se Produit Régulièrement: MicrosoftAjax.js - Sys._Application.callBaseMethod(this,"initialiser"); Objet Attendu
- Produit qu'une Fois: jquery-1.4.2.min.js - b.InsertBefore(d,b.firstChild) Objet Attendu
- Produit qu'une Fois: de Mémoire d'Exception.
Mon hôte application n'est pas en utilisant MicrosoftAjax.js à tous, mais l'enfant iFrame applications sont toutes asp.Net des applications.
- Je n'ai aucune expérience avec le navigateur intégré d'instances et si elle s'applique, mais il est un débogueur de script pour IE: microsoft.com/downloads/... Autre que cela, on aurait besoin de voir une partie du code source. Ne pouvez-vous pas de test de la page web à l'extérieur de l'VB6 exemple?
- Oui, je peux, cependant l'erreur est presque impossible à reproduire en dehors de ce navigateur intégré. Habituellement, lorsque je ne l'attraper, dit-il, "Aucune Source Disponible." Je voudrais fournir le code source si je savais ce que pour vous montrer les gars. Le problème, c'est que le projet est très très grand et je ne suis même pas sûr où commencer.
Vous devez vous connecter pour publier un commentaire.
Après beaucoup d'essais et d'essayer de comprendre si j'ai vraiment besoin de modifier MicrosoftAjax.js pour résoudre le problème, j'ai finalement trouvé une solution qui semble avoir résolu le problème.
J'ai ajouté,
à l'en-tête de demande jamais que j'étais tirant par les iFrames, ainsi que de la page parent. Cela fait deux jours que j'ai fait ces changements et c'est très bien (bien que j'aurai besoin d'un peu plus de jours de tests pour confirmer qu'il fonctionne à 100%).
J'avais essayé cela avant, sans succès, mais, en raison de la position du Script. J'ai eu d'autres scripts (comme jQuery et MicrosoftAjax) qui ont été placés devant elle. Ces scripts ont jeté les erreurs avant de ma fenêtre.onerror script a même été évalué.
Une autre chose intéressante est que l'iFrame erreurs semblent bulle indépendamment de la gestion des erreurs sur la page parent. Je suis donc allé dans notre référentiel de Code et apporté les modifications nécessaires à chacune des applications que j'attirais dans.
Enfin, je tiens à dire merci à @Jacob pour son aide dans la résolution de ce problème.
MODIFIER
Voulais juste ajouter que j'aurais préféré pour corriger l'erreur au cours de l'enfouir, mais dans l'intérêt de temps, c'est la solution que j'ai passé avec pour l'instant.
onerror
ressemble à un très utile événement. Ne savais même pas que cela.Si vous voulez simplement supprimer les erreurs Javascript, essayez de définir le
Silent
propriété de laWebBrowser
àTrue
.J'ai trouvé que la plupart de l'IE "Permission denied" des erreurs ont à voir avec le partage des objets Javascript entre les fenêtres ou les cadres. Depuis le produire avec rapide en cliquant sur aléatoire, je devine que cela a à voir avec les iframes/windows aller loin alors que leur contenu est encore en cours d'accès.
Une stratégie que vous pouvez utiliser pour éviter ces problèmes est de ne jamais partager des objets entre les images. Partout où un objet est créé, ce cadre devrait être responsable de toutes les opérations et l'accès à ses membres. En dehors de l'accès devrait être totalement contrôlé par le biais d'appels à "l'interface" de fonctions Javascript.
Essayer