Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

236
Vistas
Los ajustes de diseño de MathJax continúan cuando se ejecutan los scripts posteriores: ¿cómo ejecutarlos después de que la representación esté realmente arreglada?

Mi aplicación de Android carga un archivo XHTML en un WebView.

Cuando la página termina de cargarse, se llaman algunos scripts.

La página HTML contiene MathML u otro código matemático que debe ser precedido por un script MathJax inyectado.

 String scriptText= "MathJax.Hub.Config({ " + "showMathMenu: false, " + "jax: ['input/TeX','output/HTML-CSS'], " + "showProcessingMessages: false, " + "messageStyle: 'none', " + "extensions: ['tex2jax.js'], " + "TeX: { extensions: ['AMSmath.js','AMSsymbols.js'," + "'noErrors.js','noUndefined.js'] } " + "});"; String js_command = "var newScript = document.createElement(\"script\");" +"newScript.setAttribute('type','text/x-mathjax-config');" +"var inlineScript = document.createTextNode(\""+scriptText+"\");" +"newScript.appendChild(inlineScript);" +"document.body.appendChild(newScript);" +"newScript = document.createElement(\"script\");" +"newScript.setAttribute('type','text/javascript');" +"newScript.setAttribute('src','file:///android_asset/MathJax/es5/tex-mml-svg.js');" +"document.body.appendChild(newScript);";

La inyección del código MathJax es exitosa y el código se ejecuta, representando correctamente los símbolos matemáticos.

Consulte también Mi otra pregunta sobre la inyección de script MathJax

El hecho es que se deben ejecutar otros scripts y se deben ejecutar después de la representación de MathJax.

El script MathJax no tiene el atributo async o defer porque necesito que los scripts subsiguientes se ejecuten después de la representación real de los símbolos matemáticos. Pero intenté agregar la condición de aplazamiento y nada cambia.

De hecho, me di cuenta de que cuando el script ha terminado de ejecutarse, por lo que se ejecutará el siguiente JavaScript, la representación aún continúa para algunos elementos, algunos de los cuales pueden cambiar ligeramente de tamaño, por ejemplo. Esto genera algunos problemas en mi aplicación, que se basan en gran medida en el posicionamiento exacto.

Examiné el archivo JavaScript que se usa en mi aplicación como código MathJax y vi que está todo en una sola línea, y no se puede entender nada porque está lleno de instrucciones repetitivas.

Además, no encontré el código fuente correspondiente en forma simple en el repositorio de github, aunque la carpeta está allí.

Mi pregunta: Me gustaría saber cómo ejecutar las operaciones de MathJax de forma sincronizada real, de modo que el código JavaScript posterior se ejecute cuando todo el renderizado real esté fijo en cuanto a posiciones y dimensiones.

También estoy ansioso por editar el script MathJax insertando llamadas a otros scripts dentro de una función específica para asegurarme de que se ejecuten al final.

about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda