¿Por qué un comando en la consola Javascript (JS) de Safari no llama a una función definida previamente?


1

Tengo el último MacOS y Safari en un Macbook Pro 2012.

https://stackoverflow.com/questions/50513038/how-to-automate-download-of-generated-pdfs/50515826#50515826 me proporciona una función y un bucle para llamar varias veces.

Si pego la definición de la función en la consola JS, entonces el comando de bucle, no pasa nada.

Si cambio la llamada a la función a "console.log" y la pongo, imprime los parámetros correctos.

Si redefiní la función para llamar a console.log y escribí la llamada nuevamente, eso funciona. Si luego pego el bucle original, no pasa nada.

Conclusión: la consola Safari JS no permite que JS inyectado llame a una función definida por el usuario.

¿Es eso un error o hay una configuración de seguridad que necesito cambiar?

Respuestas:


1

No puedo reproducir el problema que tienes. He intentado con el siguiente JavaScript ejecutado en la consola.

Dividí las capturas de pantalla para cada paso de su pregunta, pero los comandos reales se ejecutaron en la consola en una página sin volver a cargar.

Si pego la definición de la función en la consola JS, entonces el comando de bucle, no pasa nada.

Si cambio la llamada a la función a "console.log" y la pongo, imprime los parámetros correctos.

Si redefiní la función para llamar a console.log y escribí la llamada nuevamente, eso funciona. Si luego pego el bucle original, no pasa nada.

¡Todo parece funcionar correctamente como debería! Quizás la pregunta podría hacer con algunas capturas de pantalla de lo que estás intentando.


Misteriosamente, la mañana después de publicar esto, el problema desapareció sin cambios en la configuración de Safari y sin actualizaciones de software.
WGroleau
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.