我正在使用 requires.js 2.0。我有以下简化的用例:
我的 HTML 文件:
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<script type="text/javascript" data-main="apptest.js" src="../_js/libs/require/require.js"></script>
</head>
<body>
</body>
</html>
然后在 apptest.js 中:
requirejs.config({
paths: {
'text': '../_js/libs/require/text'
}
});
requirejs(
['text!boxes.html'],
function (Boxes) {
alert("done");
}
);
好吧,它并没有真正起到多大作用,但足以说明我的观点。仅在 Firefox (14.0.1) 中我得到一个异常“未捕获的异常:java.security.AccessControlException:访问被拒绝(java.io.FilePermission .\boxes.html 读取)”。
因此,require.js 成功加载了文本插件,但未能加载我的 html 文件,我想稍后将其用作模板。在谷歌浏览器甚至 IE9 中它都工作得很好。我在 Windows 7 上。
我在本地网络服务器上运行它,所以这里没有 file://... 请求。
我已经检查过,如果我对 html 文件设置了任何特殊权限,但没有发现任何可疑的东西。
有人有想法吗?
更新:在 Firefox 13.0.1 中运行测试确实对我没有错误。那么,这可能是 Firefox 14 中引入的错误吗?
最佳答案
我一分钟前遇到了同样的问题。我已通过在 main.js 文件(您设置配置的位置)中执行以下操作来修复它
之前
require.config({.....
添加以下代码:
Packages = undefined;
这应该可以解决问题。
你应该有这样的东西:
Packages = undefined;
require.config({
baseUrl: theAppBaseUrl,
paths: {
基本上,解释是它试图使用 Java 而不是 ajax 请求(无论出于何种原因)来获取文件。这会强制它使用 XHR 对象来获取它。
干杯!
关于javascript - 在 Firefox : "AccessControlException" 中使用 requires.js 加载文本文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11881411/