繁体   English   中英

脚本标记是从file:///而不是http://加载的

[英]Script tag is loading from file:/// instead of http://

我正在使用一个简单的HTML测试页。 我正在使用Chrome 40.0.2214.115版本打开它。 为了测试代码,我正在从工作场所加载一个js文件。

但是,我加载的文件尝试通过脚本标签加载其他js文件,但未指定http://。 这会导致控制台错误,因为它默认为file:///协议,并且无法加载file://the/restof/theurl.js

我在本地下载了文件,然后从那里加载了文件,并在所有url中添加了http://,因此它实际上将使用HTTP协议。

这很好。 但是,这些链接会加载其他未指定http://的文件

有什么方法可以让浏览器隐含http://来表示未指定的脚本标签,并避免下载和编辑每个文件只是为了测试一个小的HTML页面?

我认为防止此类问题的最简单方法是实际使用非常小的服务器(例如,由node.js提供的服务或类似的东西或lighttpd)。

显然,您的文件不应该通过纯file协议传递,因此您应该只使用http服务器。 这样,您可以确保它们能够按预期运行,并且您不必在更深层次上摆弄浏览器。

如果您使用以下标志启动chrome,则该方法应起作用。 显然对于生产环境是不可能的,但是对于测试来说应该可以。

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files

考虑使用简单的本地文件服务器。 如果不确定如何使用,因为您使用JavaScript进行开发,因此可以使用Node.js轻松创建一个简单的文件服务器,而Node.js可以使用诸如node-static之类的简单中间件以JS编写。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM