需要重新加载javascript页面才能加载?

时间:2015-02-24 14:48:42

标签: javascript jquery ruby-on-rails

我有一个带有通知下拉的​​rails应用程序(类似于Facebook或大多数其他社交网站),它使用javascript发布通知。在大多数页面加载时,在刷新页面之前,此功能不会加载。知道为什么会这样吗?

我不太熟悉js,因为这可能是一个简单的解决方法。

1 个答案:

答案 0 :(得分:1)

我猜你启用了Turbolinks。要解决此问题,您不仅要在文档就绪时加载javascript字段,还要在页面提取时加载。 在.js文件中添加page:load

的加载程序
# will load .js content on document ready
$(function(){
    yourJavascriptFileNameInitialize();
});
# will load content when your route changes using Turbolinks
$(document).on("page:load",function(){
   yourJavascriptFileNameInitialize();
});

function yourJavascriptFileNameInitialize(){
    # put here your code
}

默认情况下启用Turbolinks,它使用ajax为您加载的页面获取新内容,以减少从服务器加载的内容(使您的应用程序更快)。发生这种情况时,您需要再次加载.js文件,因为它们已加载但未记录任何文档。因此,您必须在page:load事件发生时加载。