Чтение онлайн

ЖАНРЫ

JavaScript. Подробное руководство, 6-е издание
Шрифт:

void readAsArrayBuffer(Blob blob)

• Асинхронно читает данные из объекта

blob
и сохраняет их в свойстве
result
в виде объекта
ArrayBuffer
.

void readAsBinaryString(Blob blob)

Асинхронно читает байты данных из объекта

blob
, преобразует их в двоичную строку и сохраняет ее в свойстве
result
. Каждый «символ» в двоичной строке представлен кодом символа в диапазоне от 0 до 255. Извлекать эти значения байтов можно с помощью метода
String.charCodeAt.
Следует отметить, что двоичные строки являются не самым эффективным
представлением двоичных данных: вместо них следует использовать объекты
ArrayBuffer
, когда это возможно.

void readAsDataURL(Blob blob)

Асинхронно читает байты данных из объекта

blob
, преобразует их (учитывая тип объекта
Blob
) в URL-адрес data:// и присваивает полученную строку свойству
result
.

void readAsText(Blob blob, [string encoding])

Асинхронно читает байты данных из объекта

blob
, декодирует их с использованием кодировки encoding в текстовую строку Юникода и затем присваивает полученную строку свойству
result
. Если аргумент encoding не указан, используется кодировка UTF-8 (текст в кодировке UTF-16 определяется и декодируется автоматически, если он начинается с маркера Byte Order Mark).

Обработчики событий

Подобно всем асинхронным прикладным интерфейсам, в своей работе объект

FileReader
опирается на события. Для регистрации обработчиков событий можно использовать свойства, перечисленные ниже, или методы интерфейса
EventTarget
, реализуемого объектом
FileReader
.

События объекта

FileReader
возбуждаются в самом объекте
FileReader
. Они не всплывают, и для них не предусматриваются действия по умолчанию. Обработчикам событий в объекте
FileReader
всегда передается объект
ProgressEvent
. Успешная операция чтения начинается с события «loadstart», за которым следует ноль или более событий «progress», событие «load» и событие «loadend». Неудачная операция чтения начинается с события «loadstart», за которым следует ноль или более событий «progress», событие «error» или «abort» и событие «loadend».

onabort

Вызывается, если операция чтения была прервана методом

abort.

onerror

Вызывается, если возникла какая-либо ошибка. Свойство error объекта

FileReader
будет ссылаться на объект
FileError
, который имеет свойство code с кодом ошибки.

onload

Вызывается в случае успешного завершения операции чтения объекта

File
или
Blob
. Свойство
result
объекта
FileReader
хранит содержимое объекта
File
или
Blob
в виде, зависящем от использовавшегося метода чтения.

onloadend

Каждый вызов метода чтения объекта

FileReader
в конечном итоге возбуждает событие «load», «error» или «abort». Кроме того, после каждого из этих событий объект
FileReader
возбуждает событие «loadend» для программ, в которых было бы желательно обрабатывать единственное событие вместо трех.

onloadstart

Вызывается после вызова метода чтения, но перед тем как будут прочитаны какие-либо данные.

onprogress

Возбуждается примерно 20 раз в секунду, пока выполняется чтение данных из объекта

File
или
Blob
.
Объект
ProgressEvent
позволяет узнать количество прочитанных байтов, а свойство
result
объекта
FileReader
может содержать представление этих байтов.

FileReaderSync

синхронный интерфейс чтения объекта File или Blob

Объект

FileReaderSync
является синхронной версией объекта
FileReader
, доступной только в фоновых потоках выполнения, представленных объектами
Worker
. Синхронный интерфейс проще в использовании, чем асинхронный: достаточно просто создать объект вызовом конструктора
FileReaderSync
и затем вызвать один из его методов чтения, который либо вернет содержимое объекта
File
или
Blob
, либо возбудит объект
FileError
.

Конструктор

new FileReaderSync

Новый объект

FileReaderSync
создается с помощью конструктора
FileReaderSync
, который не требует аргументов.

Методы

Следующие методы возбуждают объект

FileError
, если операция чтения потерпит неудачу по каким-либо причинам.

ArrayBuffer readAsArrayBuffer(Blob blob)

Читает байты из объекта

blob
и возвращает их в виде объекта
ArrayBuffer
.

string readAsBinaryString(Blob blob)

Читает байты из объекта

blob
, преобразует их в двоичную строку (
String.fromChar-Code
) и возвращает ее.

string readAsDataURL(Blob blob)

Читает байты из объекта

blob
, преобразует их с учетом свойства
type
объекта
blob
в URL-адрес data:// и возвращает его.

string readAsText(Blob blob, [string encoding])

Читает байты данных из объекта

blob
, декодирует их с использованием кодировки
encoding
(или с использованием кодировки UTF-8 или UTF-16, если аргумент
encoding
не указан) и возвращает полученную строку.

Form

тег <form> в HTML-документе (Node, Element)

Объект

Form
представляет элемент
<form>
в HTML-документе. Свойство
elements
– это объект
HTMLCollection
, который дает удобный доступ ко всем элементам в форме. Методы
submit
и
reset
позволяют программным способом отправлять данные формы или сбрасывать все элементы формы в значения, предлагаемые по умолчанию. Каждая форма в документе представлена элементом массива
document.forms[].
Элементы формы (кнопки, поля ввода, переключатели и т. д.) собраны в объекте
Form.elements
, подобном массиву. К именованным элементам форм можно обращаться непосредственно по имени - имя элемента выступает в качестве имени свойства объекта
Form
. Другими словами, обратиться к элементу
Input
со значением «phone» в свойстве
name
в форме f можно посредством JavaScript-выражения
f.phone
.

Поделиться с друзьями: