javascript - 在 Firefox : "AccessControlException" 中使用 requires.js 加载文本文件失败

标签 javascript firefox requirejs

我正在使用 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/

相关文章:

Angularjs 工厂 : errors on passing $scope, $route,$http?

javascript - 将元素包装在新元素的原处

JavaScript regex exec 执行时间太长

requirejs - 通过 requirejs 加载 slickgrid

html - 文本区域溢出 :auto difference in height

html - 相当于-webkit-mask-image : -webkit-gradient in Mozilla Firefox?

javascript - 引导 angularjs 后加载 Controller

javascript - 如何知道复选框是否被选中

javascript - 具有 Stack Exchange 基本信息的投资组合

javascript - 所有 .js 文件都以看似随机的十六进制字符开头