仅适用于Firefox"带有源“

时间:2017-08-25 10:46:04

标签: javascript php jquery firefox yii

我希望将Marketo表单与我在yii框架上的现有网站集成。
我的代码适用于除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以便在此处发布。




13 个答案:

答案 0 :(得分:82)

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

Adblock Plus似乎阻止了该脚本。

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

如果您没有安装此类插件,请尝试在running Firefox in safe mode时重现此问题。

  • 如果您无法在安全模式下重现,则表示您的问题与您的某个插件或设置相关联。
  • 否则,可能是另一个问题。确保您有与问题中相同的错误消息。另请查看开发人员工具的网络选项卡,以检查是否列出了您的脚本(如果需要,请先重新加载页面)。

答案 1 :(得分:2)

我遇到了同样的问题(确切的错误消息),经过几个小时的挖掘后,我发现内容标题需要设置为application/javascript而不是我application/json 。改变之后,它现在有效。

答案 2 :(得分:1)

如上所述,这可能是您的浏览器扩展程序的问题。停用所有扩展程序,包括Adblock ,然后再试一次,因为代码在我的浏览器中正常加载(谷歌浏览器 - 最新版),所以它可能是你的问题。此外,你有没有尝试过像 shudders IE这样的其他浏览器吗?众所周知,Adblock会与域名中的trackmarket冲突,作为一揽子规则。尝试使用private browsing modesafe mode

答案 3 :(得分:1)

如果src是https并且证书已过期 - 即使您已经出现异常 - firefox仍会显示此错误消息,您可以看到确切的原因,如果您查看下面的请求网络标签。

答案 4 :(得分:1)

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

答案 5 :(得分:1)

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

其他可能的原因:cert个相关问题,而这个人谈论blockers(如其他答案所述)。

答案 6 :(得分:1)

我遇到了同样的问题-对我来说,Firefox上的Privacy Badger是问题-不是adblocker。后代发贴

答案 7 :(得分:1)

如果

VPN提供某种类型的自动阻止功能,有时也会引起此错误。禁用VPN适用于我的情况。

答案 8 :(得分:0)

我在使用firefox时遇到了同样的问题,当我搜索解决方案时我什么都没找到,但是后来我尝试从CDN加载脚本,它正常工作, 因此,我认为您应该尝试从cdn链接加载它,这意味着如果您要加载尚未创建的脚本。 因为就我而言,当尝试加载属于我的脚本时,它可以正常工作并成功导入,现在我不知道为什么,但是我认为来自网络的脚本中包含某些内容,因此只需尝试使用cdn,您就不会不会失去任何东西。

希望它能对您有所帮助。

答案 9 :(得分:0)

我在错误消息中遇到了相同的问题(虽然是不同的Web应用程序),但由于重复输入,事实证明.js文件的MIME类型为text/x-js而不是application/javascript在负责提供js文件的服务器上的mime.types中。如果设置了标题X-Content-Type-Options: nosniff,这似乎正在发生,这会使Firefox(和Chrome)阻止js文件的内容。

答案 10 :(得分:0)

这也可能是一个简单的语法错误。我遇到了一个语法错误,该错误在FF上引发,但在Chrome上却没有,如下所示:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
        defer
    </script>

答案 11 :(得分:0)

我在相同的情况下运行,脚本已在安全模式下正确加载。但是,禁用所有附加组件和其他Firefox安全功能并没有帮助。我尝试过的一件事(这是我的解决方案)是临时针对此特定请求从开发人员窗口中禁用缓存。看到原因之后,我清除了该站点的缓存,一切开始正常进行。

答案 12 :(得分:0)

我刚刚在我的 ASP.NET 项目中构建 Facebook 登录时遇到了这个问题。

结果是一个名为 Facebook Container 的扩展程序,它会阻止 the Facebook SDK script,除非您为相关网站添加例外。

一旦我添加了异常,它就一切正常。