2017-07-26 42 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