使用Safari在生产站点上未加载JavaScript
JavaScript在本地和Chrome上都可以正常工作,但当我在Safari中尝试时,它就不行了。我认为解决方案是在Safari上启用JavaScript,但我确实启用了它,并且它在Safari上本地工作。它只是在生产上不起作用。我认为我如何推进生产会有问题,但我的生产环境是在Chrome上工作的 我将Rails与jQuery TurboLink一起使用 My application.js:使用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 //
//= 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}"