Если я переопределить window.onerror в javascript, я должен вернуть true или false?

Парсер синтаксиса командной строки Windows ведет себя так же, как вы говорите, разбивается на пробел, если перед ним нет закрытой цитаты. Я бы рекомендовал написать парсер самостоятельно. Что-то вроде этого возможно:

    static string[] ParseArguments(string commandLine)
    {
        char[] parmChars = commandLine.ToCharArray();
        bool inQuote = false;
        for (int index = 0; index < parmChars.Length; index++)
        {
            if (parmChars[index] == '"')
                inQuote = !inQuote;
            if (!inQuote && parmChars[index] == ' ')
                parmChars[index] = '\n';
        }
        return (new string(parmChars)).Split('\n');
    }
24
задан c69 10 November 2011 в 23:25
поделиться

1 ответ

Из MDN в window.onerror :

Когда функция возвращает true, это предотвращает срабатывание обработчика событий по умолчанию.

См. Также хром Issue 92062 :

В Chrome возвращение true из window.onerror позволяет распространять ошибку и возврат false подавляет его.

Это обратное поведение в Firefox и IE, где возвращение «true» подавляет ошибку, но возвращение false распространяет ее.

Примечание: проблема, упомянутая выше, была исправлена, поведение теперь такое, как упомянуто в MDN для всех браузеров.

27
ответ дан Wilt 10 November 2011 в 23:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: