有沒有辦法在coffeescript編譯並運行頭中的所有腳本文件後在瀏覽器中運行一些代碼? 喜歡的東西:coffeescript是否有瀏覽器的onLoad事件
coffee.onCompiled() - >的console.log 「我裝完所有的咖啡文件」
還能如何我得到這個行爲? (請不要建議setTimeout)
有沒有辦法在coffeescript編譯並運行頭中的所有腳本文件後在瀏覽器中運行一些代碼? 喜歡的東西:coffeescript是否有瀏覽器的onLoad事件
coffee.onCompiled() - >的console.log 「我裝完所有的咖啡文件」
還能如何我得到這個行爲? (請不要建議setTimeout)
起初我以爲你在問如何從CoffeeScript中附加回調到window.onload
(當然,這很簡單,因爲「它只是JavaScript」),但現在我意識到你問如何確保使用coffee-script.js
當所有
<script type="text/coffeescript" src="..."></script>
標籤已經被執行後的代碼運行。
一個解決方案是在您加載的最後一個CoffeeScript中放置回調。從1.1.0開始,coffee-script.js
已確保所有CoffeeScript script
標籤都按順序運行(但請注意,它們只會在所有JavaScript script
標籤運行後才運行)。所以,舉例來說,如果你把
<script type="text/coffeescript">
onReady()
</script>
所有其他script
標籤後,並定義window.onReady
別的地方,那麼這個功能將所有腳本都加載之後調用。如果你製作它
$ -> onReady()
(與jQuery),那麼你會確保DOM已準備好以及所有腳本。
更新:我張貼,這是「一個解決方案」因爲我不是100%確定是否有一個回調coffee-script.js
調用後,所有的腳本已運行。但經過檢查the source後,我可以自信地說它沒有,所以只有的解決方案是把代碼放在最後的<script type="text/coffeescript">
標籤。 (無論是內聯還是在.coffee
文件中都沒有關係。)