簡體   English   中英

如何在投放application.js之后在視圖中加載js

[英]How to load js in view AFTER serving application.js

在Rails應用程序中將其推送到heroku時遇到問題。

許多功能變得undefined ,因為<%= javascript_include_tags %>包含在application.js之前,因此未加載庫。

我已經在腳本標簽中嘗試了“延遲”,但沒有用。

它僅在生產中發生,而不在我的開發環境中發生。

如何在我的視圖中指定Rails來加載JS?

任何建議都很好。 謝謝

案件:

我的application.js

//= require jquery
//= require jquery_ujs
//= require jquery.lockfixed
//= require jquery.base64
//= require jquery.browser.mobile
//= require masonry.pkgd.min
//= require_directory ./utils
//= require_directory ./helpers
//= require tabs
//= require pining
//= require list
//= require handlebars
//= require jquery.cookiesdirective
//= require albums
//= require landing
//= require bxslider
//= require landing/waypoints
//= require landing/animate-waypoints
//= require handlebars-truncate-helper
//= require spots

我的觀點

<%= javascript_include_tag "call_pining_function" %>

Call_pining_function部分

drawStaticPin();

Heroku中的錯誤

Uncaught ReferenceError: drawStaticPin is not defined

謝謝

嗯,我還是不太確定這種情況。 我認為

//= require pining

是包含drawStaticPin的文件,對嗎? 我在這里可以看到幾個選項:

首先,將“ call_pining_function”放入application.js的需求中

其次,如果在jQuery(DOM)准備就緒后定義了call_pining_function,則可以將函數調用綁定到該事件

jQuery(document).ready(function() {
    drawStaticPin();
};

第三,丑陋,但是假設代碼最終將被加載

while (typeof drawStaticPin === "undefined");
drawStaticPin();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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