如何在Chrome浏览器中使Mailchimp弹出窗口正常工作

4
我好像遇到了问题,在Chrome浏览器上无法使用Mailchimp弹出式订阅功能:
我在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中出现以下错误:

Uncaught TypeError: window.dojoRequire不是函数。

我错过了什么使其在Chrome中工作?

附加信息:

  • Python 3.6.1
  • Django 2.1.3
3个回答

2

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

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

总之:如果用户没有使用广告拦截器,弹出式表单将正常显示。但是,如果您想确保所有用户都能看到弹出式表单,请自己创建自定义弹出式窗口(例如使用Bootstrap Modal),并通过MailChimp API向用户注册。


4
有没有其他人觉得这是一个有用的答案?关闭广告拦截器并不能解决这个问题。 - metamonkey
2
关闭广告拦截器对我也没有解决问题。 - massanishi
我在使用 Chrome 作为访客进行测试时遇到了相同的问题(因此没有任何扩展程序或广告拦截器)。 - Marinski

1
您需要等待第一个脚本下载和运行,该脚本创建了dojoRequire函数。第二个脚本在第一个脚本创建函数之前使用该函数。您可以使用setTimeout() = yuck,或者在stackoverflow上寻找等待页面加载的方法,例如 等待Javascript文件加载

0

我的问题是,“DuckDuckGo隐私精选”火狐扩展程序阻止了它,而不是我的广告拦截器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接