[英]Needing to reload page for javascript to load?
我有一個帶有通知下拉列表的Rails應用程序(類似於Facebook或大多數其他社交網站),該應用程序使用javascript發布通知。 在大多數頁面加載中,直到刷新頁面后才會加載此功能。 知道為什么會這樣嗎?
我不太熟悉js,因此可能只是一個簡單的解決方法。
我猜您已經啟用了Turbolinks。 要解決此問題,您不僅要在准備好文檔的頁面上加載javascript字段,還要在頁面提取上加載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
事件發生時,您也必須加載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.