2017-07-26 43 views
-4

我在我的map.HTML頭文件中引用了兩個JS文件。 Chrome控制檯給出<!DOCTYPE html>在JS文件中

Uncaught SyntaxError: Unexpected token < 

這就是爲什麼我很困惑。當我點擊Chrome控制檯控制檯錯誤消息時,會將我帶到Sources選項卡。在Sources下,它將我放在相應的JS選項卡上,並顯示以<!DOCTYPE html>開頭的代碼,然後繼續處理大量不在我的map.html文件或JS文件中的代碼。據推測,這是在閱讀JS時生成的?

兩個JS文件是:

https://github.com/socib/Leaflet.TimeDimension/tree/master/dist https://github.com/calvinmetcalf/leaflet-ajax/tree/gh-pages/dist

我與Chrome的使用使用批處理文件一個簡單的Python服務器打開map.HTML本地(python.exe -m http.server)。

我確定這是非常基本的,但它讓我感到困惑,因爲我在線和本地引用了大量其他JS文件,並且我沒有收到此錯誤。

感謝

+0

可以在codepen上找到HTML:https://codepen.io/LeevGG/pen/OjVMJM – drivetosave

+3

JavaScript文件不是以'<!DOCTYPE ...>開頭的。您引用的網址也不是Javascript文件。 –

+0

js不會使用'<!DOCTYPE html>'或doctype ...這是爲html .. – ThisGuyHasTwoThumbs

回答

3

如果您在瀏覽器中嘗試https://github.com/socib/Leaflet.TimeDimension/blob/master/dist/leaflet.timedimension.min.js,您將會看到一個HTML頁面。

如果你嘗試https://raw.githubusercontent.com/socib/Leaflet.TimeDimension/master/dist/leaflet.timedimension.min.js你會得到什麼接縫源JavaScript文件。但是您的瀏覽器也可能會將其視爲text/html,因爲這是github在內容類型標頭中發送的內容。

您可以使用第三方網站來提供具有適當內容類型標題的文件(例如:https://rawgit.com/socib/Leaflet.TimeDimension/master/dist/leaflet.timedimension.min.js)。

+0

我在線研究(很多)之後曾嘗試使用rawgit.com方法,但我不確定它是否正確加載。控制檯以紅色突出顯示鏈接,並將其標記爲GET(紅色),向我暗示加載它仍然存在問題。真正讓我困惑的是,爲什麼這兩個問題會導致其他問題沒有解決的問題。他們獨特的是什麼? – drivetosave

+0

這讓我的JS加載,但它仍然在控制檯中標記爲紅色。猜猜我會做一些閱讀。謝謝。 – drivetosave

0

在未來,試圖在這裏發帖之前做更多的研究,否則很多人會downvote您的問題,甚至是侮辱你。

簡單的Google搜索html和javascript之間的差異可能是一個好的開始。第一步是刪除這些doctype行。它們在Javascript中沒有任何意義。就像granola這個詞在日語中沒有意義。不同的語言。

但是,看着你的代碼,我沒有在你的javascript中看到任何DOCTYPE文本。爲了真正地進行調試,您需要在瀏覽器中打開您的網頁(html)(我推薦使用Chrome)並按F12打開開發人員工具。轉到控制檯並通過所有文件追溯錯誤以找到原點。

爲了檢查並確保您正在嘗試拖動JavaScript文件而不是html,請將您使用的所有src網址粘貼到瀏覽器中。如果你登陸一個網頁,該網址將提供HTML,而不是像你想要的JavaScript。如果你得到一段文字,你可能正確地引用了它。

正確:https://api.mapbox.com/mapbox.js/v3.0.1/mapbox.js

不正確的:https://github.com/socib/Leaflet.TimeDimension/blob/master/dist/leaflet.timedimension.min.js

希望這有助於之前,這個問題被刪除或擱置。另外請注意,人們會因爲實際回答並試圖幫助而失望。

+0

謝謝。這就是我一直在做的事情,並相應地更新了我的帖子。 – drivetosave

+0

這有點複雜,因爲你使用的codepen網站,它不喜歡'<!DOCTYPE html>'聲明 – toshiomagic

+0

我加載它作爲問題的參考。我沒有用它來測試。 – drivetosave

0

你不能直接引用存儲在github倉庫中的代碼,就像你正在嘗試的那樣。

您列出的URL不是JavaScript文件;他們是github網頁。這就是爲什麼他們包含HTML doctypes和你不認識的代碼 - 這是github網站代碼。

您可以通過點擊任何頁面頂部的「原始」按鈕(選擇特定的單個文件後 - 您提供的URL是用於目錄而不是單個文件)來獲取實際javascript文件的URL。 )例如:

這是一個HTML文件:https://github.com/socib/Leaflet.TimeDimension/blob/master/dist/leaflet.timedimension.min.js

這是原始的javascript: https://raw.githubusercontent.com/socib/Leaflet.TimeDimension/master/dist/leaflet.timedimension.min.js

(這就是說,我不認爲這是對待github上像CDN是個好主意;通常情況下,您會將其純粹用作存儲庫並託管該行爲)

+0

非常感謝,這有所幫助。我並不確定引用Github上託管的JS的最佳方式,並且尚未在線上找到一致的「最佳實踐」建議(併爲完整的新手編寫)。 – drivetosave