使用Rails 3.1,您在哪里放置“特定于頁(yè)面”的JavaScript代碼?據(jù)我理解,所有JavaScript都合并到一個(gè)文件中。默認(rèn)情況下,Rails在添加//= require_tree .到你的底部application.js清單文件。這聽起來像是一個(gè)真正的生命保護(hù)程序,但我有點(diǎn)擔(dān)心特定于頁(yè)面的JavaScript代碼。這段代碼會(huì)在每一頁(yè)上執(zhí)行嗎?我最不希望的是,當(dāng)每個(gè)頁(yè)面只需要1頁(yè)時(shí),所有對(duì)象都被實(shí)例化。另外,難道沒有可能出現(xiàn)沖突的代碼嗎?還是你放了一個(gè)小的script標(biāo)記位于頁(yè)面底部,該標(biāo)記只調(diào)用一個(gè)執(zhí)行頁(yè)面javascript代碼的方法?那么,您不再需要request.js了嗎?謝謝編輯我很感激所有的答案.我認(rèn)為他們并沒有真正理解這個(gè)問題。其中有些是關(guān)于造型的,似乎不相關(guān).其他人只是提到j(luò)avascript_include_tag..我知道這是存在的(很明顯.)但是,Rails 3.1的前進(jìn)方向似乎是將所有JavaScript封裝到一個(gè)文件中,而不是在每個(gè)頁(yè)面的底部加載單獨(dú)的JavaScript。我能想出的最好的解決方案是將某些特性封裝起來。div標(biāo)簽idS或class埃斯。在JavaScript代碼中,只需檢查id或class如果是,則運(yùn)行與其關(guān)聯(lián)的JavaScript代碼。這樣,如果動(dòng)態(tài)元素不在頁(yè)面上,JavaScript代碼就不會(huì)運(yùn)行-盡管它已經(jīng)包含在大量的application.js由鏈輪打包的文件。我的上述解決方案的好處是,如果在100頁(yè)中的8頁(yè)包含一個(gè)搜索框,它將只在這8頁(yè)上運(yùn)行。您也不必在站點(diǎn)上的8個(gè)頁(yè)面上包含相同的代碼。事實(shí)上,你再也不用在你的網(wǎng)站上加入手動(dòng)腳本標(biāo)簽了。我認(rèn)為這是我問題的實(shí)際答案。
使用Rails 3.1,您在哪里放置“特定于頁(yè)面”的JavaScript代碼?
炎炎設(shè)計(jì)
2019-07-08 14:59:55