Интересный код JavaScript в опциях конфигурации в MathJax - PullRequest
0 голосов
/ 16 февраля 2011

Насколько я знаю, код javascript можно «определить» как файл

<script type="text/javascript" src="script.js"></script>

или в виде встроенного кода

<script type="text/javascript">
....
// some more code
....
</script>

Итак, как это сделать? Тем не менее это код JavaScript!?!

<script type="text/javascript" src="MathJax.js">
   MathJax.Hub.Config({
      extensions: ["tex2jax.js", "mml2jax.js"],
      jax: ["input/Tex", "input/MathML", "output/HTML-CSS"]
   });
</script>

Видео Настройка MathJax

Ответы [ 2 ]

1 голос
/ 16 февраля 2011

(Обнаружено при просмотре демонстраций MathJax с помощью инструментов разработчика Chrome)

Это программно создает новые теги <script> и помещает их в тег <head>, например, http://requirejs.org/ или http://headjs.com/ делает.

Что-то вроде

var scr = document.createElement('script');
scr.setAttribute('src', 'path/to/script.js');
headDOMnode.appendChild(src); // 'path/to/script.js' starts to load..

происходит при выполнении MathJax.Hub.Config().

Редактирование: head.js и require.js, конечно, делают это с гораздо большим количеством наворотов.

1 голос
/ 16 февраля 2011

Это просто недопустимая разметка. Далее следует выдержка из спецификации (обратите внимание на использование must вместо must ):

Если атрибут src не установлен, пользователь агенты должны интерпретировать содержание элемент как сценарий. Если источник имеет значение URI, пользовательские агенты должны игнорировать содержимое элемента и получить скрипт через URI.

...