仅在 Firefox 上“加载带有源的 <script> 失败”

IT技术 javascript php jquery firefox yii
2021-02-23 06:40:48

我想在 yii 框架上将 Marketo 表单与我现有的网站集成。我的代码适用于除 Firefox 之外的所有浏览器。

摘自我的代码:

    $('#button').click(function () {
    var formData = {
        'Email': $('#UserInfo_email').val(),
        'FirstName': $('#UserInfo_first_name').val(),
        'LastName': $('#UserInfo_last_name').val(),
        };
    MktoForms2.loadForm('//app-ab23.marketo.com', mcId, formId, function (form) {
        var myForm = MktoForms2.allForms()[0];
        myForm.addHiddenFields(formData);
        myForm.onSuccess(function (values, followUpUrl) {
            return false;
        });
        myForm.submit();
    });
});

我只在 Firefox 上收到错误消息

<script> 加载失败,源为“ http://app-ab23.marketo.com/index.php/form/getForm?munchkinId=1111&form=1111&url=http%3A%2F%2Fblox.dev%2Fwizard%2Fmap&callback= jQuery110207175825035737486_1503656391790&_=1503656391791 ”。

其他浏览器正确完成工作

注意:munchkinId 和 formId 已更改以在此处发布。

6个回答

我刚刚在使用相对路径加载脚本的应用程序上遇到了同样的问题。

看来该脚本只是被 Adblock Plus 阻止了。

尝试禁用您的广告/脚本拦截器(Adblock、uBlock Origin、Privacy Badger...)或重新定位脚本,使其与您的广告拦截器的规则不匹配。

如果您没有安装此类插件,请尝试在安全模式下运行 Firefox 时重现该问题

  • 如果您无法在安全模式下重现它,则意味着您的问题与您的插件或设置之一有关。
  • 否则,它可能是一个不同的问题。确保您收到与问题相同的错误消息。还要查看开发人员工具的网络选项卡以检查您的脚本是否已列出(如果需要,请先重新加载页面)。
@linusg 我不记得了,但我知道我查看了开发工具中的网络选项卡,我很困惑,因为这个脚本根本没有任何内容,即使其他脚本都已加载。必须有什么东西预先阻止它。
2021-04-17 06:40:48
@DidierL,如果我的评论被点赞了 10 次,我会努力的 :-)
2021-04-26 06:40:48
人,怎么会想到这个?-_-
2021-04-30 06:40:48
如果这些工具向控制台报告阻塞,那就太好了。
2021-05-07 06:40:48
我必须禁用 Privacy Badger 才能加载 cdn.datatables.net。
2021-05-07 06:40:48

我刚刚遇到了同样的问题 - 对我来说,Firefox 上的 Privacy Badger 是问题 - 而不是 adblocker。为后人发帖

我有同样的问题。Privacy Badger 似乎阻止了 DataTables CDN
2021-04-24 06:40:48

我注意到在 Firefox 中,当请求中止(切换页面或快速刷新页面)时可能会发生这种情况,但即使我尝试重现该错误也很难。

其他可能的原因:证书相关的问题,这个是关于阻止程序的(如其他答案所述)。

今天,我在处理渐进式 Web 应用程序 (PWA) 页面并从 Firefox 中删除该页面的一些缓存和 Service Worker 数据时遇到了完全相同的问题。开发控制台报告页面上的 4 个 Javascript 文件都不会再加载。该问题在安全模式下仍然存在,因此它不是附加问题。从同一网站上的其他网页加载相同的脚本文件。清除 Firefox 缓存或从 Firefox 擦除网页数据无济于事,重启 Windows 10 PC 也无济于事。Chrome 在问题页面上一直运行良好。最后我从一天的备份中恢复了整个 Firefox 配置文件文件夹,问题立即消失了,所以我的 PWA 应用程序没有问题。显然,Firefox 中的某些内容已损坏。

我在错误消息上遇到了同样的问题(尽管不同的 Web 应用程序),结果是 .js 文件的 MIME-Typetext/x-js而不是application/javascript由于负责提供服务的服务器上的 mime.types 中的重复条目js 文件。如果X-Content-Type-Options: nosniff设置了标头,似乎就会发生这种情况,这使得 Firefox(和 Chrome)阻止了 js 文件的内容。