我下载了dojo工具包并打开dijit / themes / themeTester.html。道场无法发挥作用。我必须将工具包复制到我的Web服务器的webapp目录中。然后我通过HTTP访问相同的HTML。道场有效。
在开发过程中,我是否必须始终将页面部署到Web服务器进行测试?
感谢。
答案 0 :(得分:2)
此行为不是特定于Dojo的。有些浏览器(Firefox会想到)出于安全原因禁止直接从文件系统加载的网页加载其主目录之外的资源。
示例:您的网页位于/home/bob/page.html
。它可以包括以下资源:
bob.js
(有效路径:/home/bob/bob.js
)./sam.js
(/home/bob/sam.js
)abc/spot.js
(/home/bob/abc/spot.js
)无法加载以下资源(即使它们存在):
../bob.js
(/home/bob.js
)/home/tom/script.js
../tom/script.js
(/home/tom/script.js
)理论上你可以进入Firefox内核并关闭这个“功能”,但是你可能会遇到其他问题:
除此之外,您应该能够直接从文件系统运行任何Web应用程序。只需确保整个应用程序位于一个文件夹中,所有HTML页面都在顶层文件夹中(或在子文件夹中,但不要使用“上面”的任何内容),避免绝对路径和“上升”符号({{1在路径中将您带到主文件夹之外(甚至暂时),并始终测试您的XHR响应。