Mailchimp弹出表单javascript字符编码错误

时间:2019-05-24 08:42:40

标签: javascript mailchimp

我有弹出代码,并且似乎没有问题,但是,如果我在激活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可能会或可能不会对此问题进行惩罚,但尽管如此,它仍然显示为错误。对于开发人员来说,此修复程序很简单。

0 个答案:

没有答案