javascript - 如何让 Mailchimp 弹出窗口在 Chrome 中工作

标签 javascript django google-chrome popup mailchimp

我似乎无法让 Mailchimp 弹出式订阅功能在 Chrome 上运行:

我在 django 的 index.html 页面中添加了以下代码:

<script type="text/javascript" src="//downloads.mailchimp.com/js/signup-forms/popup/unique-methods/embed.js" data-dojo-config="usePlainJson: true, isDebug: false">
</script>
<script type="text/javascript">window.dojoRequire(["mojo/signup-forms/Loader"], function(L) { L.start({"baseUrl":"mc.us19.list-manage.com","uuid":"4eccd5a19349953c3e023b61d","lid":"9b2e4611ac","uniqueMethods":true}) })
</script>

似乎在 Opera、Firefox 和 IE 中运行良好,但在 Chrome 中出现以下错误:

未捕获的类型错误:window.dojoRequire 不是函数。

要使它在 Chrome 中运行,我缺少什么?

附加信息:

  • python 3.6.1
  • Django 2.1.3

最佳答案

我刚遇到同样的问题,我想出了问题所在:广告拦截器

广告拦截器阻止 MailChimp 弹出注册表单出现在您的网站上。更准确地说,广告拦截器阻止加载 Mailchimp JS 脚本,这会导致 Uncaught TypeError: window.dojoRequire is not a function 错误。

底线:如果用户没有使用广告拦截器,弹出表单会显示得很好。但是,如果您想确保所有用户都能看到弹出窗口,请改为创建您自己的自定义弹出窗口(例如,使用 Bootstrap Modal)并通过 MailChimp API 将用户注册到 MailChimp。

关于javascript - 如何让 Mailchimp 弹出窗口在 Chrome 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54561004/

相关文章:

javascript - 我可以使用元素的数据属性的值来声明变量吗?

Django 1.8 - migrate 和 makemigrations 之间有什么区别?

python - Django:如何使用ForeignKey字段创建表单(输入为CharField)

django - 在 Django 中过滤 prefetch_related 为空

android - 在 Chrome 和 Android 上呈现问题

performance - 具有 10.000 多个节点的 SVG - 在 IE 和 Safari 中快,在 Chrome 和 Firefox 中慢

javascript - 在中止先前的 $.ajax() 调用之前,您如何测试事件的 XMLHttpRequest 对象的存在?

javascript - 在为 var 获取数据时我可以忽略吗?

Javascript onclick仅适用于chrome,不适用于firefox或IE

javascript - 如何从已显示的 Highcharts 系列中绘制新图表