我有弹出代码,并且似乎没有问题,但是,如果我在激活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的开发人员可以根据需要修改内容以包含编码元标记。
谢谢
附加:在Rup发表评论之后,我检查了chrome和IE,确实在任何一个调试控制台上均未显示此错误。但是FF是一种流行的浏览器,并且正如最初所说的Mailchimp可以正常工作,因此问题不是功能而是标准合规性。确实,Google可能会或可能不会对此问题进行惩罚,但尽管如此,它仍然显示为错误。对于开发人员来说,此修复程序很简单。