1

我在基于 Python 的 Google App Engine 网站上使用 Ace 编辑器时遇到问题。在我的索引页面(我用 jinja2 渲染)上,我像这样加载 Ace:

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

<script>标签尝试加载 ace 的模式和主题时,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);
};

添加文件名 = 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);
    }

添加文件名 = 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 回答