簡體   English   中英

需要重新加載頁面才能加載javascript嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM