TextDecoder#
TextDecoder.fatal#
Właściwość fatal
zwraca boolowską wartość true
jeśli trybem błędu TD w danym dekoderze tekstowym jest "fatal
", w przeciwnym razie zwrócona zostanie wartość false
. Właściwość jest tylko do odczytu.
Opis działania#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var boolean = textDecoder.fatal;
gdzie poszczególne człony oznaczają:
- boolean - boolowskie
true
lubfalse
. - textDecoder - dekoder tekstowy będący obiektem kontekstu.
Tryb błędu TD można zmienić z początkowej wartości "replacement
" na wartość "fatal
" jedynie przy tworzeniu nowego dekodera tekstowego za pomocą drugiego argumentu przekazanego do konstruktora new TextDecoder()
, co wymusi silniejszą obsługę błędów w trakcie procesu dekodowania.
Prosty przykład:
<!DOCTYPE html>
<html>
<head>
<script>
function createDecoder(label, options, variant){
var info = document.getElementById("info");
var passLabel;
var passOptions;
if (variant == 0){
passLabel = "brak";
passOptions = "brak";
var new_decoder = new TextDecoder();
}
else if (variant == 1){
passLabel = label;
passOptions = "brak";
var new_decoder = new TextDecoder(label);
}
else {
passLabel = label;
passOptions = JSON.stringify(options);
var new_decoder = new TextDecoder(label, options);
}
info.innerHTML = "Interfejs dekodera tekstowego: " + new_decoder
+ "<br>" + "Pierwszy argument z konstruktora (łańcuch): " + passLabel
+ "<br>" + "Drugi argument z konstruktora (obiekt): " + passOptions
+ "<br>" + "Właściwość encoding: " + new_decoder.encoding
+ "<br>" + "Właściwość fatal: " + new_decoder.fatal
+ "<br>" + "Właściwość ignoreBOM: " + new_decoder.ignoreBOM;
}
</script>
</head>
<body>
<p>Kliknij przycisk by utworzyć nowy obiekt TextDecoder.</p>
<ul>
<li>
<div>Prawidłowe wartości dla kodowania UTF-8:</div>
<input type="button" value="new TextDecoder()" onclick="createDecoder('', '', 0)">
<input type="button" value="new TextDecoder('utf8')" onclick="createDecoder('utf8', '', 1)">
<input type="button" value="new TextEncoder('UTF8')" onclick="createDecoder('UTF8', '', 1)">
<input type="button" value="new TextEncoder('utf-8', {})" onclick="createDecoder('utf-8', {}, 2)">
<input type="button" value="new TextEncoder('UtF-8', {fatal:true})" onclick="createDecoder('UtF-8', {fatal:true}, 2)">
<input type="button" value="new TextEncoder('unicode-1-1-utf-8', {ignoreBOM:true})" onclick="createDecoder('unicode-1-1-utf-8', {ignoreBOM:true}, 2)">
<input type="button" value="new TextEncoder('uNiCoDe-1-1-UTF-8', {fatal:false; ignoreBOM:false})" onclick="createDecoder('uNiCoDe-1-1-UTF-8', {fatal:false, ignoreBOM:false}, 2)">
</li>
<li>
<div>Prawidłowe wartości dla kodowania IBM866:</div>
<input type="button" value="new TextDecoder('866')" onclick="createDecoder('866', '', 1)">
<input type="button" value="new TextEncoder('cp866')" onclick="createDecoder('cp866', '', 1)">
<input type="button" value="new TextEncoder('CP866', {})" onclick="createDecoder('CP866', {}, 2)">
<input type="button" value="new TextEncoder('cSiBm866', {fatal:true})" onclick="createDecoder('cSiBm866', {fatal:true}, 2)">
<input type="button" value="new TextEncoder('ibm866', {ignoreBOM:true})" onclick="createDecoder('ibm866', {ignoreBOM:true}, 2)">
<input type="button" value="new TextEncoder('IbM866', {fatal:false; ignoreBOM:false})" onclick="createDecoder('IbM866', {fatal:false, ignoreBOM:false}, 2)">
</li>
</ul>
<p style="color: blue;">Szczegółowe informacje dla nowego obiektu TextDecoder:</p>
<p id="info"></p>
</body>
</html>
Składnia Web IDL#
[Exposed=Window,Worker] interface TextDecoder { readonly attribute boolean fatal; };
Specyfikacje i inne materiały#
Pasek społecznościowy