1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
---
title: GlobalEventHandlers.onerror
slug: Web/API/GlobalEventHandlers/onerror
tags:
- API
- HTML DOM
- Свойство
- Ссылка
translation_of: Web/API/GlobalEventHandlers/onerror
---
<div>{{ ApiRef("HTML DOM") }}</div>
<p>Обработчик события для ошибок среды Javascript.</p>
<p>Обратите внимание, что некоторые/многие <code>error</code> не вызывают <code>window.onerror</code>, вы должны слушать их специально.</p>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
<pre>window.onerror = funcRef;
</pre>
<h3 id="Parameters" name="Parameters">Параметры</h3>
<ul>
<li><code>funcRef</code> ссылка на функцию. Когда функция возвращает <code>true</code>, блокируется вызов обработчика события по умолчанию. Параметры функции:
<ul>
<li>Сообщение ошибки (string)</li>
<li>Url, где произошла ошибка (string)</li>
<li>Номер строки, где произошла ошибка (number)</li>
<li>Номер столбца для строки, в которой произошла ошибка (number) {{gecko_minversion_inline("31.0")}}</li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error Object</a> (object) {{gecko_minversion_inline("31.0")}}</li>
</ul>
</li>
</ul>
<h2 id="Example" name="Example">Примеры</h2>
<pre class="brush: js">// Пример 1:
// Предотвращает диалоги об ошибках, отображает какая это функция окна, это нормальное
// поведение - путём переопределения обработчика событий по умолчанию для событий об ошибках, которые
// переходят окну.
window.onerror = null;
// Пример 2:
var gOldOnError = window.onerror;
// Переопределить прошлый обработчик события.
window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {
if (gOldOnError)
// Вызвать прошлый обработчик события.
return gOldOnError(errorMsg, url, lineNumber);
// Просто запустить обработчик события по умолчанию.
return false;
}
</pre>
<h2 id="Notes" name="Notes">Заметки</h2>
<p>Событие возникает, когда происходит ошибка в скрипте.</p>
<p>При использовании строчной HTML-разметки (<span class="nowiki"><body onerror="alert('an error occurred')>...</span>), аргументы не именуются. Они могут быть доступны через arguments от <code>{{ mediawiki.external(0) }}</code> до <code>{{ mediawiki.external(2) }}</code>.</p>
<p>Здесь недоступен <code><a class="external" href="/en/Components.stack" title="https://developer.mozilla.org/En/Components.stack">Components.stack</a>.caller для использования</code>. (Смотрите <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=355430"><strong>bug 355430</strong></a>.)</p>
<h2 id="Specification" name="Specification">Спецификации</h2>
<p><a class="external" href="http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/handlers.html#1120097" title="http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/handlers.html#1120097">JavaScript 1.1</a></p>
|