123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <!DOCTYPE html>
- <html>
- <head>
- <title>MathJax Signals Test Page</title>
- <!-- Copyright (c) 2010-2013 The MathJax Consortium -->
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <!--
- | This example shows how to use MathJax's signal mechanism to find out
- | about what MathJax is doing, and to hook into various events as they
- | occur.
- -->
- <script type="text/x-mathjax-config">
- //
- // Configure MathJax
- //
- MathJax.Hub.Config({
- extensions: ["tex2jax.js","TeX/noUndefined.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]},
- TeX: {extensions: ["AMSmath.js","AMSsymbols.js"]}
- });
- //
- // Display messages when these files are loaded
- // (Note the difference between extensions and TeX.extensions,
- // and the difference between when noUndefind is loaded compared
- // to when it signals that it is ready)
- //
- MathJax.Hub.Register.LoadHook("[MathJax]/extensions/TeX/noUndefined.js",
- function () {MathJax.Hub.Startup.signal.Post("*** noUndefined Loaded ***")});
- MathJax.Hub.Register.LoadHook("[MathJax]/extensions/TeX/AMSmath.js",
- function () {MathJax.Hub.Startup.signal.Post("*** AMSmath Loaded ***")});
- //
- // Display a message that we are in the configuration code
- // (The Message function is not yet defined when this code
- // runs, so we can't use that here. Post a signal
- // of our own, so it will be displayed along with all
- // the other signals).
- //
- MathJax.Hub.Startup.signal.Post("*** In Startup Configuration code ***");
- //
- // When the "onLoad" message is posted, display a message.
- // (Since this hook is registered before the ones in the main body
- // below, it runs before the code to print the "Startup: onLoad"
- // message, so this message shows up first in the output.)
- //
- MathJax.Hub.Register.StartupHook("onLoad",function () {
- Message("*** The onLoad handler has run, page is ready to process ***");
- });
- //
- // This will be performed after MathJax has completed its
- // setup and typesetting run, which have already been
- // pushed onto the queue.
- // (Since the Message function isn't defined yet when this code
- // runs, we need to enclose it in a function so it will be
- // looked up later when it is defined.)
- //
- MathJax.Hub.Queue(function () {Message("*** MathJax is done ***")});
- </script>
- <script type="text/javascript" src="../MathJax.js"></script>
- <style>
- .output {
- background-color: #F0F0F0;
- border-top: 1px solid;
- border-bottom: 1px solid;
- padding: 3px 1em;
- }
- </style>
- </head>
- <body>
- <p>
- When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
- $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
- </p>
- <p>
- Messages about mathematics:
- <pre id="MathMessages" class="output">
- </pre>
- </p>
- <p>
- All Messages:
- <pre id="AllMessages" class="output">
- </pre>
- </p>
- <script>
- (function () {
- //
- // The output areas
- //
- var math = document.getElementById("MathMessages");
- var all = document.getElementById("AllMessages");
- //
- // A function to display messages in the "AllMessages" area.
- // We make it global so it can be used in the startup code above.
- //
- window.Message = function (message) {
- MathJax.HTML.addText(all,message);
- MathJax.HTML.addElement(all,"br");
- };
- //
- // Find out about "New Math" messages from the Hub and display them.
- // (Look up the TeX code for each new math element)
- //
- MathJax.Hub.Register.MessageHook("New Math",function (message) {
- var script = MathJax.Hub.getJaxFor(message[1]).SourceElement();
- MathJax.HTML.addText(math,message.join(" ")+": '"+script.text+"'");
- MathJax.HTML.addElement(math,"br");
- });
- //
- // Find out about ALL startup and hub messages
- //
- MathJax.Hub.Startup.signal.Interest(function (message) {Message("Startup: "+message)});
- MathJax.Hub.signal.Interest(function (message) {Message("Hub: "+message)});
- //
- // Since signals are remembered, registering an interest will cause
- // use to receive all the past signals as well as new ones.
- // This marks the point were the above routines were called.
- //
- Message("##### events above this have already occurred #####");
- })();
- </script>
- </body>
- </html>
|