4

私はrequires.js2.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ファイルのロードに失敗しました。Google ChromeやIE9でも、問題なく動作します。私はWindows7を使用しています。

私はこれをローカルウェブサーバーで実行しているので、ここではfile://...リクエストはありません。

HTMLファイルに特別な権限が設定されているかどうかを確認しましたが、疑わしいものは見つかりませんでした。

誰かアイデアがありますか?

更新:Firefox 13.0.1でテストを実行すると、実際にはエラーなしで機能します。それで、これはFirefox 14で導入されたバグである可能性がありますか?

4

1 に答える 1

1

私は1分前に​​同じ問題を抱えていました。main.jsファイル(構成をセットアップする場所)で次のようにして修正しました

の前に

require.config({..... 

次のコードを追加します。

Packages = undefined;

これでうまくいくはずです。

次のようなものが必要です。

Packages = undefined;

require.config({
    baseUrl: theAppBaseUrl,
    paths: {

基本的には、(何らかの理由で)ajaxリクエストの代わりにJavaを使用してファイルを取得しようとしているという説明があります。これにより、XHRオブジェクトを使用してフェッチするように強制されます。

乾杯!

于 2012-08-10T00:14:16.967 に答える