Javascript 正在从文件///而不是http加载脚本标记://
我正在使用一个简单的HTML测试页面。我用Chrome版本40.0.2214.115打开它。为了测试代码,我正在从我的工作区加载一个js文件 但是,我加载的文件尝试通过脚本标记加载其他js文件,但没有指定http://。这会在控制台中导致错误,因为它默认为文件:///协议,并且无法加载file://the/restof/theurl.js 我在本地下载了该文件,并从那里加载,将http://添加到所有url,因此它实际上使用http协议 这很有效。但是,这些链接加载的其他文件也没有指定http://Javascript 正在从文件///而不是http加载脚本标记://,javascript,html,http,Javascript,Html,Http,我正在使用一个简单的HTML测试页面。我用Chrome版本40.0.2214.115打开它。为了测试代码,我正在从我的工作区加载一个js文件 但是,我加载的文件尝试通过脚本标记加载其他js文件,但没有指定http://。这会在控制台中导致错误,因为它默认为文件:///协议,并且无法加载file://the/restof/theurl.js 我在本地下载了该文件,并从那里加载,将http://添加到所有url,因此它实际上使用http协议 这很有效。但是,这些链接加载的其他文件也没有指定http:
有没有办法让浏览器将http://暗示给未指定的脚本标记,并避免下载和编辑每个文件只是为了测试一个小的HTML页面?我认为防止类似问题的最简单方法是实际使用一个非常小的服务器(如node.js或类似的或lighttpd提供的东西)
显然,您的文件不应该通过普通的
文件
协议传递,因此您应该只使用http服务器。这样,您就可以确保它们按预期工作,而不必在更深层次上摆弄您的浏览器。如果您启动带有以下标志的chrome,这应该可以工作。显然,对于生产环境来说是不可能的,但是对于测试来说应该是可以的
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files
考虑使用一个简单的本地文件服务器。如果您不确定如何使用,因为您是用JavaScript开发的,您可以轻松地创建一个简单的文件服务器,使用JS编写,使用简单的中间件,如 是的,通过使用像MAMP这样的本地服务器。这将允许您像在
http
协议上一样运行。否则,您将面临黑客攻击,因为您的页面不打算在文件上运行://
协议无论如何,它们都应该在internet上运行。如果要在文件://
协议上运行,则应使所有文件在本地可用,因为不能保证internet连接。