2013-07-22 28 views
0

我在javascript中收到錯誤TypeError: document.body is null如何在<body>標記後包含某個javascript文件

And the solution is found here. 但問題是我怎麼能在<body>之後加載特定的javascript文件(錯誤來自哪裏)?或者只是添加一個window.onload = function()到這個文件?

特別是,如何告訴應用程序的JavaScript文件的路徑?

我只知道如何將每一個文件到application.js,這將在<body>負載

+0

您是否嘗試按照建議添加'window.onload'?它沒有工作嗎?至於路徑 - 可以使用相對路徑(例如'../ scripts')或絕對路徑(例如'http:// ...')。 – maksimov

+0

它甚至更好,如果你把你的腳本之前關閉身體標記[](http://stackoverflow.com/questions/7751514/javascript-in-head-or-just-before-body) – DarkBee

+0

好吧,我知道什麼你的意思是@maksimov。問題是Rails中的相對路徑看起來相當複雜,並且不會那樣工作 – cqcn1991

回答

1

之前觸發既然你提到application.js我假設你正在使用Rails?在這種情況下,請使用javascript_include_tag在關閉</body>標記之前將文件包含在application.html.erb中。

+0

是的,我在標題中鍵入Rails,但隨後它被編輯。我想到了解決方案。它當然會起作用。但是我們不需要在''標籤後面加載每個文件,是嗎? (我想也許有一些性能差異)這就是爲什麼我問我是否可以在'' – cqcn1991

+0

之後放置特定的js如果您的腳本對於初始化頁面並不重要(例如包含onclick的腳本處理程序,表單提交等),那麼你應該把它放在文檔的末尾。這樣瀏覽器將首先呈現您的頁面,並且用戶感覺速度會更快。 – fiskeben

+0

那麼....我只是試過解決方案。這會導致另一個問題,看起來像我不能只在'<\body>'之前放置'application.js'。我可以做什麼來將特定的js文件放在那裏?我想這將是像'javascript_include_tag my_specific_js_file'? – cqcn1991

相關問題