现在,我的application.html.erb中有这个JQuery
但我在我的网站的每个HTML中都看到了这一点。所以我想把它放在refresh_post.js
中,这是在/assets/javascripts
但是如您所知,application.html.erb会调用目录中的所有JavaScript文件。因为我使用了很多并且放了这个
<%= javascript_include_tag "application" %>
如何仅在用户登录时调用此JQuery。我应该在哪里refresh_post.js
使其无法加载,除非用户已登录?
这样做的目的是为了SEO。我不想把JavaScript放在HTML中。
视图/ application.html.erb
<% if current_user %>
<%= javascript_tag do %>
jQuery(document).ready(function () {
refreshPartialPost();
setInterval(refreshPartialPost, 1000)
});
function refreshPartialPost() {
$.ajax({
url: "/posts/refresh_partial",
type: "GET",
dataType: "script",
});
}
<% end %>
<% end %>
答案 0 :(得分:0)
application
布局如何:
<%= javascript_include_tag 'application' %>
<% if current_user %>
<%= javascript_include_tag 'refresh_post' %>
<% end %>
答案 1 :(得分:0)
看看this,即使这是针对CSS的,也可以应用于js
HTH