MathJax не работает с собственной библиотекой - PullRequest
0 голосов
/ 05 ноября 2018

Я устанавливаю веб-приложение на сервере за корпоративным брандмауэром, поэтому мне нужно сделать несколько исправлений, чтобы заменить библиотеки JavaScript из CDN автономными.

Проблема возникает, когда я заменяю путь MathJax с //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML на //a.mysite.com/lib/MathJax/MathJax.js?config=TeX-AMS_HTML. Просматривая запросы в браузере, я вижу, что он правильно загружает MathJax.js, но не отображает формулы в тексте.

Это полная задействованная функция:

$update.click(function () {
    var text = $textarea.val();
    if (text) {
        $preview.addClass('dmmd-preview-stale');
        $.post(preview_url, {
            preview: text,
            csrfmiddlewaretoken: $.cookie('csrftoken')
        }, function (result) {
            $content.html(result);
            $preview.addClass('dmmd-preview-has-content').removeClass('dmmd-preview-stale');

            var $jax = $content.find('.require-mathjax-support');
            if ($jax.length) {
                if (!('MathJax' in window)) {
                    $.ajax({
                        type: 'GET',
                        url: $jax.attr('data-config'),
                        dataType: 'script',
                        cache: true,
                        success: function () {
                            $.ajax({
                                type: 'GET',
                                url: '//a.mysite.com/lib/MathJax/MathJax.js?config=TeX-AMS_HTML',
                                dataType: 'script',
                                cache: true,
                                success: function () {
                                    MathJax.Hub.Queue(function () {
                                        $content.find('.tex-image').hide();
                                        $content.find('.tex-text').show();
                                    });
                                }
                            });
                        }
                    });
                } else {
                    MathJax.Hub.Queue(['Typeset', MathJax.Hub, $content[0]], function () {
                        $content.find('.tex-image').hide();
                        $content.find('.tex-text').show();
                    });
                }
            }
        });
    } else {
        $content.empty();
        $preview.removeClass('dmmd-preview-has-content').removeClass('dmmd-preview-stale');
    }
}).click();

В настоящее время я настроил два имени хоста для одного и того же сервера и веб-приложения, скажем:

  • A: a.mysite.com
  • B: b.mysite.com

Странно то, что с вышеуказанной функцией загрузка сайта через B работает нормально. Однако, когда я изменяю значение url в функции на B , тогда A работает, а B - нет. Я не очень разбираюсь в JavaScript, поэтому не знаю, упускаю ли я что-то очевидное.

...