1

Python ベースの Google App Engine サイトで Ace エディタを使用する際に問題があります。インデックス ページ (jinja2 でレンダリング) で、次のように Ace を読み込みます。

<script type="text/javascript" src='media/ace-uncompressed-noconflict.js' charset='utf-8'></script>

タグが ace のモードとテーマの両方をロードしようとすると、ディレクトリ<script>の後のパスにダブル スラッシュが表示され、次のmedia/ようなエラーが発生します。

http://asdfcoding.appspot.com/media//theme-eclipse-uncompressed-noconflict.js
Failed to load resource: the server responded with a status of 404 (Not Found)

Ace のテーマとモード ファイルを正しくロードするにはどうすればよいですか?

私のライブ サイトは、 AppSpotの asdfcoding です。さらに情報が必要な場合は、お知らせください。

4

1 に答える 1

1

私は同じ問題を抱えていましたが、組み込みの Microchip TCPIP スタック サーバーでは、不正な形式の要求に対して非常に容赦がありませんでした。

簡単な修正として、私はこれを行いました:

完全な ace.js では:

変化する

this._loadTheme = function(name, callback) {
    if (!config.get("packaged"))
        return callback();

    var base = name.split("/").pop();
    var filename = config.get("themePath") + "/theme-" + base + config.get("suffix");
    net.loadScript(filename, callback);
};

add in filename = filename.replace("//theme","/theme");

this._loadTheme = function(name, callback) {
    if (!config.get("packaged"))
        return callback();

    var base = name.split("/").pop();
    var filename = config.get("themePath") + "/theme-" + base + config.get("suffix");
filename = filename.replace("//theme","/theme");
    net.loadScript(filename, callback);
};

変更する

    function fetch(callback) {
        if (!config.get("packaged"))
            return callback();

        var base = mode.split("/").pop();
        var filename = config.get("modePath") + "/mode-" + base + ".js";
        net.loadScript(filename, callback);
    }

add in filename = filename.replace("//mode","/mode");

    function fetch(callback) {
        if (!config.get("packaged"))
            return callback();

        var base = mode.split("/").pop();
        var filename = config.get("modePath") + "/mode-" + base + ".js";
    filename = filename.replace("//mode","/mode");
        net.loadScript(filename, callback);
    }
于 2012-06-21T04:56:58.787 に答える