jQuery 的 getScript 和本地文件系统——限制/替代方案?

2024-03-29

现在我正在开发一个基于本地文件系统的帮助系统。它旨在随不在支持互联网的计算机上使用的产品一起提供,因此它必须是一个独立的网页,不依赖于 Web 服务器。

这带来了一些挑战。也就是说,文件所在的目录结构需要“上下”导航才能访问显示帮助系统所需的一些 .js 文件。该用途是使用 jQuery getScript 函数来实现的,但我在本地文件系统上使用它时遇到了一些问题。

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

然而,经过测试后,似乎 getScript 函数不会让我从 html 目录(html 文件所在的位置,其中包含网页的主要代码)向上一级。不幸的是,我无法更改目录结构,也无法更改 .js 文件结构/格式。

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

谢谢,

编辑-我确实看过这个与我的问题类似的问题,但在我的情况下,将数据更改为 JSON 格式的建议不是一个选项:在本地文件上使用 Javascript/jQuery 权限被拒绝 https://stackoverflow.com/questions/2852265/permission-denied-using-javascript-jquery-on-a-local-file


这并不是说它不会让你提升一个级别……在某些情况下也是如此,而是你可能会达到目标同源策略 http://en.wikipedia.org/wiki/Same_origin_policy安全到位。这是您拥有的一些解决方案/选项。

Option 1

为此,您最好的长期选择是在机器上设置一个 Web 服务器,编辑/保存文件,但通过http://localhost网址。如果您将来要做大量 HTML/CSS/JS 工作,这将是获得您想要的内容的最简单方法。

Option 2

或者,您可以在 chrome(也许是其他浏览器)中加载页面,然后disable该策略使您可以完成一些工作(为开发创建不同的快捷方式,而不是一般用途!)。

For Chrome http://www.google.com/chrome您可以通过编辑快捷方式并添加来禁用它--disable-web-security到您的命令行,例如:

C:\Users\USERHERE\AppData\Local\Google\Chrome\Application\chrome.exe --disable-web-security
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 的 getScript 和本地文件系统——限制/替代方案? 的相关文章

随机推荐