使用Safari在生产站点上未加载JavaScript

使用Safari在生产站点上未加载JavaScript,javascript,jquery,ruby-on-rails,safari,haml,Javascript,Jquery,Ruby On Rails,Safari,Haml,JavaScript在本地和Chrome上都可以正常工作,但当我在Safari中尝试时,它就不行了。我认为解决方案是在Safari上启用JavaScript,但我确实启用了它,并且它在Safari上本地工作。它只是在生产上不起作用。我认为我如何推进生产会有问题,但我的生产环境是在Chrome上工作的 我将Rails与jQuery TurboLink一起使用 My application.js: //= require jquery //= require jquery.turbolinks //

JavaScript在本地和Chrome上都可以正常工作,但当我在Safari中尝试时,它就不行了。我认为解决方案是在Safari上启用JavaScript,但我确实启用了它,并且它在Safari上本地工作。它只是在生产上不起作用。我认为我如何推进生产会有问题,但我的生产环境是在Chrome上工作的

我将Rails与jQuery TurboLink一起使用

My application.js:

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require bootstrap
//= require social-share-button
//= require zeroclipboard
//= require google_analytics
//= require turbolinks
//= require_tree .
未正确加载的示例JS文件:

$(document).ready(function() {
  var referLinkClip = new ZeroClipboard($("#referral-text-button"))
  var referCodeClip = new ZeroClipboard($("#referral-code-button"))
  var embedClip = new ZeroClipboard($("#embed-text-button"))
  alert('foobar');
  $(".copy-button").hover(function(){
    $(this).css('background-color', '#7b7b7b');
    }, function(){
    $(this).css("background-color", '#949494');
  });
  $(".copy-button").click(function(){
    $(this).css('outline', 'none');
    $(this).css('background-color', '#2d3538');
    setTimeout(function(){
      $(this).css('background-color', '#949494');
    }, 100);
  });
});
使用此JS(HAML)的我的视图:

这一切在Chrome本地和生产上都很好,但在Safari的生产上就不行了。我已经用bundle exec rake assets:precompile编译了我的资产,这没有什么区别

有什么想法吗?我被难住了

编辑:


更多可能证明有用的信息。。。最近,即使在Chrome上,我也很难让JS正确加载,除非页面被刷新。在我提供的JS文件中,
$(“.copy button”)。单击
函数可以工作(按钮改变颜色),但是
$(“.copy button”)。悬停
也不工作,
零剪贴板
对象也不初始化。我将JS包含在我的
application.html
head中,带有
=javascript\u include\u标记“application”

,我遇到了类似的问题(请参阅),并发现原因是Safari在使用HTTP/0.9完成的请求上自动沙盒(阻止所有JS执行)


有关更多详细信息,请查看我在另一个线程中的回答。

我遇到了类似的问题(请参阅),并发现原因是Safari在使用HTTP/0.9完成的请求上自动沙箱(阻止所有JS执行)


有关更多详细信息,请查看另一个线程中的我的答案。

尝试@vivasayi不幸的是,我尝试了这里提到的解决方案,包括使用
$(窗口)。加载
$(文档)。在(“页面更改”)
$(文档)。在(“页面初始化”)
$(文档)。在(“初始化”)
上。不过,我对任何其他人都持开放态度,因为它在加载时似乎有问题。请尝试@vivasayi。不幸的是,我尝试了这里提到的解决方案,包括使用
$(窗口)。加载
$(文档)。on(“pagechange”)
$(文档)。on(“pageinit”)
,以及
$(文档)。on(“init”)
。不过,我对任何其他人都持开放态度,因为它在加载时似乎有问题。
%button#referral-code-button.plan-show.round-corners-8px.col-md-2.referral-links.copy-button{:'data-clipboard-target'=>'referral-code'}
  Copy code
.plan-show.round-corners-8px.col-md-8.referral-links.light-text
  Your affiliate code:
  %span#referral-code.medium-text= "#{current_user.affiliate_code}"