Ошибка JavaScript при использовании ASP.NET UpdatePanel - PullRequest
1 голос
/ 25 ноября 2010

Я использую UpdatePanel для замены ActiveView MultiView.

В IE6, 7 и 8 и Chrome 7 я получаю ошибку JavaScript, когда UpdatePanel возвращается.В Firefox 3.6.1 не сообщается об ошибке (в консоли ошибок или в Firebug).

Ошибка в строке 3621 ScriptResource.axd

function Sys$_ScriptLoader$_loadScriptsInternal() {
    var session = this._currentSession;
    if (session.scriptsToLoad && session.scriptsToLoad.length > 0) {
        var nextScript = Array.dequeue(session.scriptsToLoad);
        var scriptElement = this._createScriptElement(nextScript);

        if (scriptElement.text && Sys.Browser.agent === Sys.Browser.Safari) {
            scriptElement.innerHTML = scriptElement.text;
            delete scriptElement.text;
        }            
        if (typeof(nextScript.src) === "string") {
            this._currentTask = new Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
            this._currentTask.execute();
        }
        else {
            var headElements = document.getElementsByTagName('head');
            if (headElements.length === 0) {
                 throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
            }
            else {
line 3621:        headElements[0].appendChild(scriptElement);
            }


            Sys._ScriptLoader._clearScript(scriptElement);
            this._loadScriptsInternal();
        }
    }
    else {
        this._stopSession();
        var callback = session.allScriptsLoadedCallback;
        if(callback) {
            callback(this);
        }
        this._nextSession();
    }
}

Uncaught SyntaxError: Unexpected number

Инструменты разработчика Chrome показывают, что headElements - это NodeList с одним элементом, а scriptElement - это HTMLScriptElement NodeList and ScriptElement

Что может быть причиной этой ошибки?Почему это заметно только в IE и Chrome, а не в Firefox?

Ответы [ 2 ]

4 голосов
/ 03 февраля 2011

Произошла ошибка в сценарии, который я выводил в ScriptManager.RegisterStartupScript.Это вызывало ошибку во время выполнения, так как браузер анализировал JavaScript, когда в DOM был добавлен тег <script>, как предложено @Rahul в комментариях.

0 голосов
/ 29 марта 2018

Сжатие gzip может также вызвать проблемы такого рода для тех, кто ищет решение.

...