我最近在我的网站上添加了第三方javascript库,以便管理电子邮件订阅:
<script type="text/javascript" src="http://forms.aweber.com/form/catID/formID.js"></script>
这个javascript文件包含一行来加载另一个javascript文件来设置页面上显示的popover:
var script = document.createElement('script');
script.src = "http://forms.aweber.com/form/styled_popovers_and_lightboxes.js";
script.type = 'text/javascript';
document.getElementsByTagName('HEAD')[0].appendChild(script);
奇怪的是,这个脚本在Safari,IE和Firefox中加载很好,但是在chrome中脚本无法加载:
然而,我可以在new tab中加载相同的脚本。当我调试网络请求时,我可以收集的唯一信息是没有响应:
为什么Chrome(仅)无法加载此脚本?
答案 0 :(得分:2)
您没有添加新的<script>
标记;您只是将网址传递给.appendChild()
。
var newScript = document.createElement('script');
newScript.src = "http://forms.aweber.com/form/styled_popovers_and_lightboxes.js";
document.getElementsByTagName('head')[0].appendChild(newScript);
答案 1 :(得分:1)
您必须将script
标记不是javascript的网址附加到head
元素中,类似这样的内容,
var script = document.createElement('script'); //creating script element.
script.src = "http://forms.aweber.com/form/styled_popovers_and_lightboxes.js";
document.getElementsByTagName('HEAD')[0].appendChild(script);
答案 2 :(得分:1)
此脚本已被Chrome中的AdBlocker阻止。如果你禁用它,它应该可以工作。
也许您可以在服务器上托管此脚本?或者您需要通知您的用户他们必须禁用他们的AdBlocker使用此网站上的所有内容,但这可能不会让他们满意。