У меня работает всплывающий код, и, похоже, проблем нет, но если я открою форму подписки на своем сайте, когда активен 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 может или не может оштрафовать в этом вопросе, но тем не менее это все еще показывает как ошибку.Исправление является простым для разработчиков, чтобы быть справедливым.