Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在从文件///而不是http加载脚本标记://_Javascript_Html_Http - Fatal编程技术网

Javascript 正在从文件///而不是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:

我正在使用一个简单的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连接。