javascript - 如何让 Mailchimp 弹出窗口在 Chrome 中工作
问题描述
我似乎无法让 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 弹出式注册表单出现在您的网站上。更准确地说,广告拦截器会阻止加载导致Uncaught TypeError: window.dojoRequire is not a function
错误的 Mailchimp JS 脚本。
底线:如果用户没有使用广告拦截器,弹出表单会显示得很好。但是,如果您想确保所有用户都能看到弹出窗口,请创建您自己的自定义弹出窗口(例如,使用 Bootstrap 模式)并通过 MailChimp API 将用户签名到 MailChimp。
推荐阅读
- airflow - 无法从 airflow.www.views 导入名称 dagbag
- c# - ASP.NET Core (.NET 5) 中 GetUnobtrusiveValidationAttributes 的等价物是什么?
- python - 为什么在预分配和用户输入变量期间字符串标签(id)和整数标签(id)之间的标签分配存在差异
- mysql - 如何在mysql中联合后获取最小值?
- firebase - 如何使用 Flutter 处理 FCM subscribeToTopic 和 unsubscribeFromTopic
- node.js - 供浏览器和节点使用的反应组件包(反应挂钩问题)
- scheme - 球拍:如何对点分隔的数字进行排序
- vue.js - 向 npm / webpack 添加文件系统包依赖项
- c++ - pybind11实现一个cpp中间件概念(基础篇)
- gorilla - 我应该如何用 gorilla/mux 解决这个导入问题?