Mailchimp всплывающая форма ошибки кодировки символов JavaScript - PullRequest
0 голосов
/ 24 мая 2019

У меня работает всплывающий код, и, похоже, проблем нет, но если я открою форму подписки на своем сайте, когда активен firebug, он говорит, что произошла ошибка следующим образом: «Кодировка символов в текстовом документе не быладокумент будет отображаться с искаженным текстом в некоторых конфигурациях браузера, если документ содержит символы вне диапазона US-ASCII. Кодировка символов файла должна быть объявлена ​​в протоколе передачи, или файл должен использовать метку порядка байтов какподпись кодировки. "

Я просмотрел код для тега <meta encoding="uft-8"> и правильно нашел его в верхней части HTML-страницы.Затем я проверил саму форму и заметил, что это всплывающее окно содержало тег <html>, но не содержало <meta encoding="utf-8">. Я посмотрел на это, и форма, похоже, создается с помощью mailchimp удаленно, это означает, что я не могу редактировать это и, следовательно, не могу исправитьошибка.Следующим моим предложением было связаться с командой разработчиков mailchimp, но, к сожалению, чтобы сделать это, вы должны заплатить за mailchimp (который, откровенно говоря, он сломан в соответствии с консолью ошибок javascript, является странным требованием для возможного исправления).

В моем файле JS у меня есть.

    // Fill in your MailChimp popup settings below. Note I replaced these fields
    // These can be found in the original popup script from MailChimp.
    var mailchimpConfig = {
        baseUrl: '#####################',
        uuid: '########################',
        lid: '###########'
    };

    // No edits below this line are required
    var chimpPopupLoader = document.createElement("script");
    chimpPopupLoader.src = '//downloads.mailchimp.com/js/signup-forms/popup/embed.js';
    chimpPopupLoader.setAttribute('data-dojo-config', 'usePlainJson: true, isDebug: false');

    var chimpPopup = document.createElement("script");
    chimpPopup.appendChild(document.createTextNode('require(["mojo/signup-forms/Loader"], function (L) { L.start({"baseUrl": "' + mailchimpConfig.baseUrl + '", "uuid": "' + mailchimpConfig.uuid + '", "lid": "' + mailchimpConfig.lid + '"})});'));


    jQuery(function ($) {
        document.body.appendChild(chimpPopupLoader);
        //Mailchimp Pop
        jQuery('#mailchimp-signup-click').on( 'click', function (e) {
            e.preventDefault();
            document.body.appendChild(chimpPopup);
            document.cookie = 'MCPopupClosed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;';
            document.cookie = 'MCPopupSubscribed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;';
        });
        jQuery('#mailchimp-signup-button').on( 'click', function (e) {
            e.preventDefault();
            document.body.appendChild(chimpPopup);
            document.cookie = 'MCPopupClosed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;';
            document.cookie = 'MCPopupSubscribed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;';
        });

    });

Мой HTML содержит

<div class="newsletter__button">
        <a href="#" id="mailchimp-signup-button">
            Click here            <i class="fa fa-chevron-right" aria-hidden="true"></i>
        </a>
    </div>

Как я уже упоминал, форма работает, если вы нажимаете кнопку, форма загружается и после заполненияполя и отправка содержимого отправляются на сервер mailchimp.Моя проблема заключается в том, что мой отдел SEO говорит, что либо ошибка удалена из консоли, либо мы удалили плагин.

Мой запрос - это временное решение, которое внедряет мету в удаленный контент, или что разработчики в mailchimp могутизмените содержимое, чтобы включить метатег кодирования, если это необходимо.

спасибо

ДОПОЛНИТЕЛЬНО: После комментария Рупа я проверил Chrome и IE, и действительно эта ошибка не отображалась на консоли отладки.Однако FF является популярным браузером, и, как уже было сказано, Mailchimp работает, поэтому проблема заключается не в функциональности, а в соответствии стандартам.Действительно, Google может или не может оштрафовать в этом вопросе, но тем не менее это все еще показывает как ошибку.Исправление является простым для разработчиков, чтобы быть справедливым.

...