Javascript jQuery';s getScript和本地文件系统--限制/备选方案?

Javascript jQuery';s getScript和本地文件系统--限制/备选方案?,javascript,jquery,Javascript,Jquery,现在我正在开发一个基于本地文件系统的帮助系统。它打算与不在支持internet的机器上使用的产品一起提供,因此它必须是一个独立的网页,对web服务器没有任何依赖关系 这带来了一些挑战。也就是说,文件所在的目录结构需要导航到“up and over”以访问显示帮助系统所需的一些.js文件。这个用法可以使用jQuery getScript函数实现,但是在本地文件系统中使用它时遇到了一些问题 乍一看,如果我的网页是在C:/dev/webpage/html/目录下提供的,而我需要的文件是在C:/dev/

现在我正在开发一个基于本地文件系统的帮助系统。它打算与不在支持internet的机器上使用的产品一起提供,因此它必须是一个独立的网页,对web服务器没有任何依赖关系

这带来了一些挑战。也就是说,文件所在的目录结构需要导航到“up and over”以访问显示帮助系统所需的一些.js文件。这个用法可以使用jQuery getScript函数实现,但是在本地文件系统中使用它时遇到了一些问题

乍一看,如果我的网页是在C:/dev/webpage/html/目录下提供的,而我需要的文件是在C:/dev/webpage/js/(topic)/file.js中,那么我可以构建一个绝对路径(file:///...)并将其传递到getScript函数中

但是,在测试之后,getScript函数似乎不允许我从html目录(html文件所在的目录中包含网页的主代码)升级一级。不幸的是,我不能更改目录结构,也不能更改.js文件结构/格式

是否有其他方法可以加载/执行文件结构中的javascript文件,而我需要“反复”加载这些文件

谢谢


编辑-我确实看到了这个与我类似的问题,但在我的案例中,将数据更改为JSON格式的建议不是一个选项:

为什么不构建一个相对路径?无论如何,绝对路径是个坏主意,因为您不能100%确定安装路径。(例如,某些客户端可能安装到D:


如果页面为“file://something/html/thepage.html“,“./js/script.js”有效吗?

这并不是说它不能让你提升一个级别……在某些情况下,这也是正确的,因为你可能是为了安全而进入了原位。以下是您的一些解决方案/选项

选择1 最好的长期选择是在机箱上设置一个web服务器,编辑/保存现有文件,但通过
http://localhost
url。如果您正在进行大量HTML/CSS/JS工作,这将是获得所需内容的最简单方法

选择2 或者,您可以在chrome(可能是其他浏览器)中加载页面并禁用该策略,这样您就可以完成一些工作(为开发创建不同的快捷方式,而不是通用方式!)

例如,您可以通过编辑快捷方式并向命令行添加
--禁用web安全性
来禁用它,例如:

C:\Users\USERHERE\AppData\Local\Google\Chrome\Application\chrome.exe --disable-web-security

谢谢,事实证明确实是这个限制。根据jQuery网站,问题在于IE 11对ActiveX请求的处理:我发现
文件上的相对路径:
scheme/protocol充满了跨浏览器的不一致性,jQuery至少无法消除这些不一致性。