2 votes

Pourquoi une commande dans la console Javascript (JS) de Safari ne peut-elle pas appeler une fonction préalablement définie ?

J'ai la dernière version de MacOS et de Safari sur un Macbook Pro 2012.

https://stackoverflow.com/questions/50513038/how-to-automate-download-of-generated-pdfs/50515826#50515826 me fournit une fonction et une boucle à appeler plusieurs fois.

Si je colle la définition de la fonction dans la console JS, puis la commande loop, rien ne se passe.

Si je remplace l'appel de fonction par "console.log" et que je l'insère, les paramètres corrects s'affichent.

Si je redéfinis la fonction pour qu'elle appelle console.log et que je tape à nouveau l'appel, cela fonctionne. Si je colle ensuite la boucle originale, rien ne se passe.

Conclusion : La console JS de Safari n'autorise pas l'injection de JS pour appeler une fonction définie par l'utilisateur.

S'agit-il d'un bogue ou dois-je modifier un paramètre de sécurité ?

1voto

grg Points 181593

Je ne peux pas reproduire le problème que vous rencontrez. J'ai essayé avec le JavaScript suivant exécuté dans la console.

J'ai séparé les captures d'écran pour chaque étape de votre question mais les commandes réelles ont été exécutées dans la console sur une page sans rechargement.

Si je colle la définition de la fonction dans la console JS, puis la commande loop, rien ne se passe.

Si je remplace l'appel de fonction par "console.log" et que je l'insère, les paramètres corrects s'affichent.

Si je redéfinis la fonction pour qu'elle appelle console.log et que je tape à nouveau l'appel, cela fonctionne. Si je colle ensuite la boucle originale, rien ne se passe.

Tout semble fonctionner correctement comme il se doit ! La question pourrait peut-être être complétée par des captures d'écran de ce que vous essayez.

1voto

Pierz Points 2729

Lorsque Safari est en mode de débogage (par exemple, lorsque vous avez interrompu l'exécution et/ou atteint un point d'arrêt), vous ne pouvez pas définir de nouvelles fonctions ou variables dans la console. Si vous revenez en mode non débogué, vous pouvez définir des fonctions/variables à utiliser en mode débogué.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X