2017-04-13 4 views
5

J'ai un problème que j'essaye de déboguer sur notre site Web, où une routine javascript particulière n'est pas trouvée. Je ne sais pas pourquoi, mais je pense que si les outils de développement F12 ne peuvent pas atteindre le code pour une raison quelconque, alors tout ce qui est dans ce bloc de script est inaccessible et ne sera pas exécuté.Comprendre les points d'arrêt inaccessibles dans IE11 Outils de développement F12

Y a-t-il quelque part où je peux chercher une explication de pourquoi le code dans un bloc de script est accessible, et un autre, bloc apparemment identique est inaccessible?

Illustration of reachable and unreachable code

+0

Est-il possible qu'une erreur de syntaxe quelque part dans le second bloc invalide le bloc entier? – Dan

+1

Pourriez-vous s'il vous plaît code/capture d'écran des scripts au-dessus du point d'erreur et aussi pourriez-vous s'il vous plaît me dire si la même chose se produit sur d'autres navigateurs web? – Sagar

+0

Plus de code au-dessus du point d'erreur? J'ai identifié le code de travail (voir le point d'arrêt actif et les balises de fermeture/ouverture de script dans la capture d'écran) au-dessus de l'erreur, et j'ai vérifié qu'il atteignait et casse ce code. Egalement, par "autres navigateurs Web", voulez-vous dire les navigateurs non IE 11, ou IE 11 sur d'autres ordinateurs? – Dan

Répondre

0

Bien que j'ATTRIBUÉ la prime au premier poste, la réponse réelle est qu'une erreur dans le deuxième bloc de javascript invalident le bloc entier pour la manipulation point d'arrêt. Pour diagnostiquer ceci (si le code n'est pas le vôtre, ou si vous l'avez écrit il y a longtemps et que vous avez oublié où vous avez apporté des modifications), vous devez séparer chaque routine en un bloc séparé, puis trouver le bloc qui est échoue toujours. Ensuite, passez par cette routine avec un peigne à dents fines pour déterminer la cause de l'échec de la syntaxe - soyez minutieux! Une fois que j'ai identifié la cause (un point-virgule mal placé), les points d'arrêt ont été réactivés pour le bloc entier.

D'autres causes pourraient être que le bloc de code est inaccessible, en raison de noms de fonctions en double. Ce n'était pas mon cas, cependant, je n'ai pas confirmé cela comme une cause possible de points de rupture inaccessibles.

-2

Il semble que la fonction positionCollectionList() est de retour à la fin et le bloc de code suivant dans votre strDGLabel_ContributingFactors de cas n'a pas été enfermé dans une fonction afin qu'il ne peut pas être appelé ou exécuté ce qui signifie qu'il est un code inaccessible.

Pour faire en sorte que vous pouvez essayer l'exemple suivant

Essayez d'enregistrer le code ci-dessous sous forme de fichier html et l'ouvrir dans IE et puis essayer de garder un point d'arrêt à la ligne 8, vous reproduire le problème.

<html> 
<script> 
var te; 
</script> 
<script> 
var test="testing"; 
return; 
te="test"; 
</script> 
<body> 
HI 
</body> 
</html> 

Merci

+0

Merci, mais le bloc de code ci-dessus est très incomplet (manque d'ouverture