Baseline Widely available
error
ã¤ãã³ãã¯ããªã½ã¼ã¹ã®èªã¿åãã«å¤±æãããã使ç¨ã§ããªãã£ããããå ´å â ä¾ãã°ãã¹ã¯ãªããã«å®è¡ã¨ã©ã¼ããã£ãå ´åã« Window
ãªãã¸ã§ã¯ãã«çºçãã¾ãã
ãã®ã¤ãã³ãåã addEventListener()
çã®ã¡ã½ããã§ä½¿ç¨ããããã¤ãã³ããã³ãã©ã¼ããããã£ãè¨å®ããããã¦ãã ããã
addEventListener("error", (event) => {});
onerror = (event, source, lineno, colno, error) => {};
ã¡ã¢: æ´å²çãªçç±ã«ããã window
ã® onerror
ã¯ã¤ãã³ããã³ãã©ã¼ããããã£ã®ä¸ã§å¯ä¸ãè¤æ°ã®å¼æ°ãåãåãã¾ãã
ã¤ãã³ããªãã¸ã§ã¯ãã¯ãã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹è¦ç´ ããçæãããå ´å㯠ErrorEvent
ã¤ã³ã¹ã¿ã³ã¹ã§ãããããã§ãªãå ´å㯠Event
ã¤ã³ã¹ã¿ã³ã¹ã§ãã
æ´å²çãªçç±ããã onerror
ã¤ãã³ããã³ãã©ã¼ããããã£ã¯ Window
ãªãã¸ã§ã¯ãã«å¯¾ãã¦ã®ã¿ãä»ã®ã¤ãã³ããã³ãã©ã¼ããããã£ã¨ã¯ç°ãªãåä½ããã¾ãã
ãã㯠onerror
ã«å²ãå½ã¦ããããã³ãã©ã¼ã«ã®ã¿é©ç¨ããã addEventListener()
ã使ç¨ãã¦è¿½å ãããã³ãã©ã¼ã«ã¯é©ç¨ãããªããã¨ã«æ³¨æãã¦ãã ããã
ã¤ãã³ããã³ãã©ã¼ããããã£ã«å²ãå½ã¦ãããã»ã¨ãã©ã®ã¤ãã³ããã³ãã©ã¼ã§ã¯ããã³ãã©ã¼ãã false
ãè¿ããã¨ã§ãã¤ãã³ãã®æ¢å®å¤ã®åä½ãåãæ¶ããã¨ãã§ãã¾ãã
textarea.onkeydown = () => false;
ãããã Window
ã® error
ã¤ãã³ãã®æ¢å®ã®åä½ãã¤ãã³ããã³ãã©ã¼ããããã£ããåãæ¶ãããã«ã¯ã代ããã« true
ãè¿ãå¿
è¦ãããã¾ãã
window.onerror = () => true;
åãæ¶ãããå ´åãã¨ã©ã¼ã¯ã³ã³ã½ã¼ã«ã«ç¾ãã¾ããããç¾å¨ã®ã¹ã¯ãªããã®å®è¡ã¯åæ¢ãã¾ãã
弿°ã¤ãã³ããã³ãã©ã¼ã®ã·ã°ããã£ã¯ addEventListener()
㨠onerror
ã§ç°ãªãã¾ãã Window.addEventListener()
ã«æ¸¡ãããã¤ãã³ããã³ãã©ã¼ã¯ãåä¸ã® ErrorEvent
ãªãã¸ã§ã¯ããåãåãã¾ããã onerror
ãã³ãã©ã¼ã¯ ErrorEvent
ãªãã¸ã§ã¯ãã®ããããã£ã¨ä¸è´ãã 5 ã¤ã®å¼æ°ãåãåãã¾ãï¼
event
æååã§ã颿°ã説æãã人éãèªãã®ã«é©ããã¨ã©ã¼ã¡ãã»ã¼ã¸ãå
¥ãã¾ãã ErrorEvent.message
ã¨åãã§ãã
source
æååã§ãã¨ã©ã¼ãçºçããã¹ã¯ãªãããã¡ã¤ã«ã®ååãå ¥ãã¾ãã
lineno
æ´æ°ã§ãã¨ã©ã¼ãçºçããã¹ã¯ãªãããã¡ã¤ã«ã®è¡çªå·ãå ¥ãã¾ãã
colno
æ´æ°ã§ãã¨ã©ã¼ãçºçããã¹ã¯ãªãããã¡ã¤ã«ã®åçªå·ãå ¥ãã¾ãã
error
çºçããã¨ã©ã¼ã§ãããµã¤ã㯠Error
ãªãã¸ã§ã¯ãã§ãã
window.onerror = (a, b, c, d, e) => {
console.log(`message: ${a}`);
console.log(`source: ${b}`);
console.log(`lineno: ${c}`);
console.log(`colno: ${d}`);
console.log(`error: ${e}`);
return true;
};
ã¡ã¢: ãããã®å¼æ°å㯠HTML ã¤ãã³ããã³ãã©ã¼å±æ§ã§ç£è¦å¯è½ã§ãæåã®å¼æ°ã¯ message
ã§ã¯ãªã event
ã¨å¼ã°ãã¾ãã
ãã®ç¹å¥ãªåä½ã¯ window
ã® onerror
ã¤ãã³ããã³ãã©ã¼ã«å¯¾ãã¦ã®ã¿èµ·ããã¾ãã Element.onerror
ãã³ãã©ã¼ã®å ´åã¯åä¸ã® ErrorEvent
ãªãã¸ã§ã¯ããåãåãã¾ãã
<div class="controls">
<button id="script-error" type="button">Generate script error</button>
<img class="bad-img" />
</div>
<div class="event-log">
<label for="eventLog">Event log:</label>
<textarea
readonly
class="event-log-contents"
rows="8"
cols="30"
id="eventLog"></textarea>
</div>
body {
display: grid;
grid-template-areas: "control log";
}
.controls {
grid-area: control;
display: flex;
align-items: center;
justify-content: center;
}
.event-log {
grid-area: log;
}
.event-log-contents {
resize: none;
}
label,
button {
display: block;
}
button {
height: 2rem;
margin: 0.5rem;
}
img {
width: 0;
height: 0;
}
JS
const log = document.querySelector(".event-log-contents");
window.addEventListener("error", (event) => {
log.textContent = `${log.textContent}${event.type}: ${event.message}\n`;
console.log(event);
});
const scriptError = document.querySelector("#script-error");
scriptError.addEventListener("click", () => {
const badCode = "const s;";
eval(badCode);
});
çµæ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
Element
ã対象ã¨ãããã®ã¤ãã³ã: error
ã¤ãã³ãRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4