2013-10-21 56 views
0

我有很多視圖模板,其中我具有特定於該視圖的內嵌JavaScript。內嵌Javascript:這是一個很好的做法嗎?

爲如:

app/views/something/index.html.haml 
.some-id 
    %h4 Something 

#this javascript is not reused anywhere. Used only in this view 
:javascript 
    $(document).ready(function() { 
    $('.some-id').addClass('something') 
    }) 

它是一個很好的做法,有觀點像上面?

跨多個視圖維護內聯javascript絕對是一種痛苦。所以我開始慢慢地將它們移動到一個JavaScript文件中。但我不確定這是不是一件好事,因爲現在所有的JavaScript都會爲所有頁面執行。

那麼哪個放置視圖的最佳地方是特定的javascript?

回答

1

如果您擔心頁面加載時間,應該使用類似loadjs之類的內容。像這樣在你的視圖中放置JS是不可維護的。對於超級簡單的項目,也許,但總的來說,你應該遠離它。

另一件需要注意的事情是,瀏覽器將緩存從文件加載的JavaScript。它們在內聯時無法執行此操作,因爲HTML會在每次加載頁面時呈現。因此,即使沒有loadjs,你也可能會在內聯時查看整體性能損失。

0

通常情況下,我對此事的想法...

至於外觀和使用性好: 如果有可能在多點,那麼它應該被重新組合爲一個函數重用代碼。可以調用此函數並減少文檔中的代碼行。這將提高編寫代碼所花時間的效率,同時也會使您的最終結果更加整潔和易於維護。

只要效率與加載頁面: 我認爲你不應該每次頁面加載時調用所有的JavaScript包括。與其將所有想要在函數中重用的所有內容都放到另一個文檔中,不要將它們中的一部分分組在文檔的頭部。從本質上說,它只是做一個JavaScript包括,但是如果你使用一個大的JavaScript文件作爲你的網站上的所有網頁的庫,那麼你可以減少一些代碼,只需將你需要的功能在文件的頭部。

編輯:爲了更直接地回答您的問題,我相信這是常見的信念,內聯JavaScript總是一個不好的做法。

我不是那種總是認爲這是真的人。當維護其他代碼時,我會說,如果他們使用內聯,外部文件或者只要它們一致,就不要介意。

相關問題