dokumentacja zestawu SDK języka JavaScript Czytnik immersyjny (wersja 1.4)
Zestaw SDK Czytnik immersyjny zawiera bibliotekę języka JavaScript, która umożliwia integrację Czytnik immersyjny z aplikacją.
Możesz użyć npm
elementu , yarn
lub HTML <script>
, aby uwzględnić bibliotekę najnowszej stabilnej kompilacji w aplikacji internetowej:
<script type='text/javascript' src='https://ircdname.azureedge.net/immersivereadersdk/immersive-reader-sdk.1.4.0.js'></script>
npm install @microsoft/immersive-reader-sdk
yarn add @microsoft/immersive-reader-sdk
Funkcje
Zestaw SDK uwidacznia następujące funkcje:
- ImmersiveReader.launchAsync(token, poddomena, zawartość, opcje)
- ImmersiveReader.close()
- ImmersiveReader.renderButtons(opcje)
Funkcja: launchAsync
ImmersiveReader.launchAsync(token, subdomain, content, options)
uruchamia Czytnik immersyjny w elemecie HTML iframe
w aplikacji internetowej. Rozmiar zawartości jest ograniczony do maksymalnie 50 MB.
launchAsync(token: string, subdomain: string, content: Content, options?: Options): Promise<LaunchResponse>;
Parametr | Type | Opis |
---|---|---|
token | string | Token uwierzytelniania entra firmy Microsoft. Aby dowiedzieć się więcej, zobacz Jak utworzyć zasób Czytnik immersyjny. |
poddomena | string | Niestandardowa poddomena zasobu Czytnik immersyjny na platformie Azure. |
content | Zawartość | Obiekt zawierający zawartość do wyświetlenia w Czytnik immersyjny. |
options | Opcje | Opcje konfigurowania niektórych zachowań Czytnik immersyjny. Opcjonalny. |
Zwraca
Zwraca wartość Promise<LaunchResponse>
, która jest rozpoznawana podczas ładowania Czytnik immersyjny. Rozpoznawany Promise
jest obiekt LaunchResponse .
Wyjątki
Jeśli nie można załadować Czytnik immersyjny, zwrócony Promise
obiekt zostanie odrzucony z obiektem Error.
Funkcja: close
ImmersiveReader.close()
zamyka Czytnik immersyjny.
Przykładowy przypadek użycia tej funkcji to, czy przycisk wyjścia jest ukryty, ustawiając w hideExitButton: true
opcjach. Następnie inny przycisk (na przykład strzałka wstecz nagłówka mobilnego) może wywołać tę close
funkcję po kliknięciu.
close(): void;
Funkcja: renderButtons
Funkcja ImmersiveReader.renderButtons(options)
nie jest konieczna, jeśli używasz wskazówek dotyczących dostosowywania Czytnik immersyjny przycisków.
Ta funkcja style i aktualizuje elementy przycisku Czytnik immersyjny dokumentu. Jeśli options.elements
zostanie podana wartość , przyciski są renderowane w ramach każdego elementu podanego w pliku options.elements
. Użycie parametru options.elements
jest przydatne, gdy w dokumencie znajduje się wiele sekcji, na których ma zostać uruchomiony Czytnik immersyjny, i chcesz uprościć renderowanie wielu przycisków z tym samym stylem lub chcesz renderować przyciski z prostym i spójnym wzorcem projektowania. Aby użyć tej funkcji z parametrem opcji renderButtons, wywołaj metodę ImmersiveReader.renderButtons(options: RenderButtonsOptions);
ładowania strony, jak pokazano w poniższym fragmencie kodu. W przeciwnym razie przyciski są renderowane w elementach dokumentu, które mają klasęimmersive-reader-button
, jak pokazano w temacie Jak dostosować przycisk Czytnik immersyjny.
// This snippet assumes there are two empty div elements in
// the page HTML, button1 and button2.
const btn1: HTMLDivElement = document.getElementById('button1');
const btn2: HTMLDivElement = document.getElementById('button2');
const btns: HTMLDivElement[] = [btn1, btn2];
ImmersiveReader.renderButtons({elements: btns});
Zobacz opcjonalne atrybuty przycisku uruchamiania, aby uzyskać więcej opcji renderowania. Aby użyć tych opcji, dodaj dowolne atrybuty opcji do każdego HTMLDivElement
z nich w kodzie HTML strony.
renderButtons(options?: RenderButtonsOptions): void;
Parametr | Type | Opis |
---|---|---|
options | opcje renderButtons | Opcje konfigurowania niektórych zachowań funkcji renderButtons. Opcjonalny. |
opcje renderButtons
Opcje renderowania przycisków Czytnik immersyjny.
{
elements: HTMLDivElement[];
}
Parametr | Type | Opis |
---|---|---|
elementy | HTMLDivElement[] | Elementy do renderowania przycisków Czytnik immersyjny. |
Type: HTMLDivElement[]
Required: false
Przycisk Uruchom
Zestaw SDK zapewnia domyślny styl dla przycisku uruchamiania Czytnik immersyjny. Użyj atrybutu immersive-reader-button
klasy, aby włączyć ten styl. Aby uzyskać więcej informacji, zobacz Jak dostosować przycisk Czytnik immersyjny.
<div class='immersive-reader-button'></div>
Użyj następujących opcjonalnych atrybutów, aby skonfigurować wygląd i działanie przycisku.
Atrybut | opis |
---|---|
styl przycisku danych | Ustawia styl przycisku. Może to być icon , text lub iconAndText . Wartość domyślna to icon . |
ustawienia regionalne danych | Ustawia ustawienia regionalne. Na przykład: en-US lub fr-FR . Domyślnie jest to angielski en . |
data-icon-px-size | Ustawia rozmiar ikony w pikselach. Wartość domyślna to 20 pikseli. |
LaunchResponse
Zawiera odpowiedź z wywołania na ImmersiveReader.launchAsync
. Odwołanie do elementu HTML iframe
zawierającego Czytnik immersyjny można uzyskać dostęp za pośrednictwem metody container.firstChild
.
{
container: HTMLDivElement;
sessionId: string;
charactersProcessed: number;
}
Parametr | Type | Opis |
---|---|---|
kontener | HTMLDivElement | Element HTML zawierający element Czytnik immersyjnyiframe . |
sessionId | String | Globalnie unikatowy identyfikator dla tej sesji używany do debugowania. |
znakiProcessed | Liczba | Łączna liczba przetworzonych znaków |
Błąd
Zawiera informacje o błędzie.
{
code: string;
message: string;
}
Parametr | Type | Opis |
---|---|---|
code | String | Jeden z zestawów kodów błędów. |
wiadomość | String | Czytelna dla człowieka reprezentacja błędu. |
Kod błędu | opis |
---|---|
BadArgument | Podany argument jest nieprawidłowy. Zobacz message parametr błędu. |
Timeout | Nie można załadować Czytnik immersyjny w określonym przedziale czasu. |
TokenExpired | Podany token wygasł. |
Ograniczono | Przekroczono limit liczby wywołań. |
Typy
Zawartość
Zawiera zawartość, która ma być wyświetlana w Czytnik immersyjny.
{
title?: string;
chunks: Chunk[];
}
Parametr | Type | Opis |
---|---|---|
title | String | Tekst tytułu wyświetlany w górnej części Czytnik immersyjny (opcjonalnie) |
Kawałki | Fragment[] | Tablica fragmentów |
title
Type: String
Required: false
Default value: "Immersive Reader"
chunks
Type: Chunk[]
Required: true
Default value: null
Fragment
Pojedynczy fragment danych, który jest przekazywany do zawartości Czytnik immersyjny.
{
content: string;
lang?: string;
mimeType?: string;
}
Parametr | Type | Opis |
---|---|---|
content | String | Ciąg zawierający zawartość wysłaną do Czytnik immersyjny. |
Lang | String | Język tekstu, wartość jest w formacie tagu IETF BCP 47-language , na przykład en, es-ES. Język jest wykrywany automatycznie, jeśli nie zostanie określony. Aby uzyskać więcej informacji, zobacz listę Obsługiwane języki. |
mimeType | string | Obsługiwane są formaty Zwykłego tekstu, MathML, HTML i Microsoft Word DOCX. Aby uzyskać więcej informacji, zobacz Obsługiwane typy MIME. |
content
Type: String
Required: true
Default value: null
lang
Type: String
Required: false
Default value: Automatically detected
mimeType
Type: String
Required: false
Default value: "text/plain"
Obsługiwane typy MIME
Typ MIME | opis |
---|---|
text/plain | Zwykły tekst. |
text/html | Zawartość HTML. |
application/mathml+xml | Matematyczny język znaczników (MathML). |
application/vnd.openxmlformats-officedocument.wordprocessingml.document | Dokument w formacie .docx programu Microsoft Word. |
Opcje
Zawiera właściwości, które konfigurują pewne zachowania Czytnik immersyjny.
{
uiLang?: string;
timeout?: number;
uiZIndex?: number;
useWebview?: boolean;
onExit?: () => any;
customDomain?: string;
allowFullscreen?: boolean;
parent?: Node;
hideExitButton?: boolean;
cookiePolicy?: CookiePolicy;
disableFirstRun?: boolean;
readAloudOptions?: ReadAloudOptions;
translationOptions?: TranslationOptions;
displayOptions?: DisplayOptions;
preferences?: string;
onPreferencesChanged?: (value: string) => any;
disableGrammar?: boolean;
disableTranslation?: boolean;
disableLanguageDetection?: boolean;
}
Parametr | Type | Opis |
---|---|---|
uiLang | String | Język interfejsu użytkownika, wartość jest w formacie tagu IETF BCP 47-language , na przykład en, es-ES. Wartość domyślna dla języka przeglądarki, jeśli nie zostanie określona. |
timeout | Liczba | Czas trwania (w milisekundach) przed niepowodzeniem funkcji launchAsync z powodu błędu przekroczenia limitu czasu (wartość domyślna to 15 000 ms). Ten limit czasu dotyczy tylko początkowego uruchomienia strony Czytelnik, po pomyślnym otwarciu strony Czytelnik i uruchomieniu pokrętła. Dostosowanie limitu czasu nie powinno być konieczne. |
uiZIndex | Liczba | Indeks Z utworzonego elementu HTML iframe (wartość domyślna to 1000). |
useWebview | Wartość logiczna | Użyj tagu webview zamiast elementu HTML iframe , aby uzyskać zgodność z aplikacjami dla programu Chrome (wartość domyślna to false). |
onExit | Function | Wykonuje po zakończeniu Czytnik immersyjny. |
customDomain | String | Zarezerwowane do użytku wewnętrznego. Domena niestandardowa, w której jest hostowana aplikacja internetowa Czytnik immersyjny (wartość domyślna to null). |
allowFullscreen | Wartość logiczna | Możliwość przełączania pełnoekranowego (wartość domyślna to true). |
parent | Węzeł | Węzeł, w którym znajduje się element HTML iframe lub Webview kontener. Jeśli element nie istnieje, element iframe zostanie umieszczony w elemecie body . |
hideExitButton | Wartość logiczna | Ukrywa strzałkę przycisku zakończenia Czytnik immersyjny (wartość domyślna to false). Ta wartość powinna być prawdziwa tylko wtedy, gdy istnieje alternatywny mechanizm umożliwiający wyjście z Czytnik immersyjny (na przykład strzałka wstecz paska narzędzi mobilnych). |
cookiePolicy | CookiePolicy | Ustawienie użycia plików cookie Czytnik immersyjny (wartość domyślna to CookiePolicy.Disable). Jest to odpowiedzialność aplikacji hosta za uzyskanie wszelkich niezbędnych zgody użytkownika zgodnie z zasadami zgodności plików cookie UE. Aby uzyskać więcej informacji, zobacz Opcje zasad plików cookie. |
disableFirstRun | Wartość logiczna | Wyłącz pierwsze środowisko uruchamiania. |
readAloudOptions | ReadAloudOptions | Opcje konfigurowania odczytu na głos. |
translationOptions | TranslationOptions | Opcje konfigurowania tłumaczenia. |
displayOptions | DisplayOptions | Opcje konfigurowania rozmiaru tekstu, czcionki, motywu itd. |
preferencje | String | Ciąg zwrócony z elementu onPreferencesChanged reprezentujący preferencje użytkownika w Czytnik immersyjny. Aby uzyskać więcej informacji, zobacz Jak przechowywać preferencje użytkownika. |
onPreferencesChanged | Function | Wykonuje, gdy preferencje użytkownika uległy zmianie. Aby uzyskać więcej informacji, zobacz Jak przechowywać preferencje użytkownika. |
disableTranslation | Wartość logiczna | Wyłącz środowisko tłumaczenia wyrazów i dokumentów. |
disableGrammar | Wartość logiczna | Wyłącz środowisko gramatyki. Ta opcja powoduje również wyłączenie syllables, części mowy i słownika obrazów, które zależą od części mowy. |
disableLanguageDetection | Wartość logiczna | Wyłącz wykrywanie języka, aby upewnić się, że Czytnik immersyjny używa tylko języka, który jest jawnie określony w fragmentu zawartości/[]. Ta opcja powinna być używana oszczędnie, przede wszystkim w sytuacjach, w których wykrywanie języka nie działa. Na przykład ten problem jest bardziej prawdopodobny w przypadku krótkich fragmentów o mniej niż 100 znaków. Należy mieć pewność, że język, który wysyłasz, ponieważ zamiana tekstu na mowę nie będzie miała poprawnego głosu. Syllables, Part of Speech i Picture Dictionary nie działają poprawnie, jeśli język nie jest poprawny. |
uiLang
Type: String
Required: false
Default value: User's browser language
timeout
Type: Number
Required: false
Default value: 15000
uiZIndex
Type: Number
Required: false
Default value: 1000
onExit
Type: Function
Required: false
Default value: null
preferences
Type: String
Required: false
Default value: null
Uwaga
Nie próbuj programowo zmieniać wartości ciągu wysyłanego -preferences
do i z aplikacji Czytnik immersyjny, ponieważ może to spowodować nieoczekiwane zachowanie, co spowoduje obniżenie wydajności środowiska użytkownika. Aplikacje hosta nigdy nie powinny przypisywać wartości niestandardowej do ciągu ani manipulować nim -preferences
. W przypadku korzystania z opcji ciągu użyj tylko dokładnej -preferences
wartości zwróconej z opcji wywołania zwrotnego -onPreferencesChanged
.
onPreferencesChanged
Type: Function
Required: false
Default value: null
customDomain
Type: String
Required: false
Default value: null
ReadAloudOptions
type ReadAloudOptions = {
voice?: string;
speed?: number;
autoplay?: boolean;
};
Parametr | Type | Opis |
---|---|---|
voice | String | Głos, kobieta lub mężczyzna. Nie wszystkie języki obsługują obie płcie. |
szybkość | Liczba | Szybkość odtwarzania. Musi należeć do przedziału od 0,5 do 2,5 włącznie. |
autoodtwarzanie | Wartość logiczna | Automatycznie uruchom odczyt na głos po załadowaniu Czytnik immersyjny. |
Uwaga
Ze względu na ograniczenia przeglądarki autoodtwarzanie nie jest obsługiwane w przeglądarce Safari.
voice
Type: String
Required: false
Default value: "Female" or "Male" (determined by language)
Values available: "Female", "Male"
speed
Type: Number
Required: false
Default value: 1
Values available: 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5
TranslationOptions
type TranslationOptions = {
language: string;
autoEnableDocumentTranslation?: boolean;
autoEnableWordTranslation?: boolean;
};
Parametr | Type | Opis |
---|---|---|
język | String | Ustawia język tłumaczenia, wartość jest w formacie tagu IETF BCP 47-language , na przykład fr-FR, es-MX, zh-Hans-CN. Wymagane do automatycznego włączania tłumaczenia wyrazów lub dokumentów. |
autoEnableDocumentTranslation | Wartość logiczna | Automatycznie przetłumacz cały dokument. |
autoEnableWordTranslation | Wartość logiczna | Automatycznie włącz tłumaczenie wyrazów. |
language
Type: String
Required: true
Default value: null
Values available: For more information, see the Supported languages section
TematOpcje
enum ThemeOption { Light, Dark }
DisplayOptions
type DisplayOptions = {
textSize?: number;
increaseSpacing?: boolean;
fontFamily?: string;
themeOption?: ThemeOption
};
Parametr | Type | Opis |
---|---|---|
textSize | Liczba | Ustawia wybrany rozmiar tekstu. |
increaseSpacing | Wartość logiczna | Określa, czy odstęp między tekstami jest włączony, czy wyłączony. |
fontFamily | String | Ustawia wybraną czcionkę (Calibri, ComicSans lub Sitka). |
themeOption | TematOpcje | Ustawia wybrany motyw czytnika (jasny, ciemny). |
textSize
Type: Number
Required: false
Default value: 20, 36 or 42 (Determined by screen size)
Values available: 14, 20, 28, 36, 42, 48, 56, 64, 72, 84, 96
fontFamily
Type: String
Required: false
Default value: "Calibri"
Values available: "Calibri", "Sitka", "ComicSans"
Opcje cookiePolicy
enum CookiePolicy { Disable, Enable }
Następujące ustawienia są przeznaczone tylko do celów informacyjnych. Czytnik immersyjny przechowuje ustawienia lub preferencje użytkownika w plikach cookie. Ta opcja cookiePolicy domyślnie wyłącza korzystanie z plików cookie zgodnie z przepisami ue dotyczącymi zgodności plików cookie. Jeśli chcesz ponownie włączyć pliki cookie i przywrócić domyślne funkcje Czytnik immersyjny preferencji użytkownika, witryna internetowa lub aplikacja wymaga odpowiedniej zgody od użytkownika w celu włączenia plików cookie. Następnie, aby ponownie włączyć pliki cookie w Czytnik immersyjny, należy jawnie ustawić opcję cookiePolicy na CookiePolicy.Enable podczas uruchamiania Czytnik immersyjny.
W poniższej tabeli opisano ustawienia, które Czytnik immersyjny przechowuje w pliku cookie po włączeniu opcji cookiePolicy.
Ustawienie | Type | Opis |
---|---|---|
textSize | Liczba | Ustawia wybrany rozmiar tekstu. |
fontFamily | String | Ustawia wybraną czcionkę (Calibri, ComicSans lub Sitka). |
textSpacing | Liczba | Określa, czy odstęp między tekstami jest włączony, czy wyłączony. |
formatowanieEnabled | Wartość logiczna | Określa, czy formatowanie HTML jest włączone, czy wyłączone. |
motyw | String | Ustawia wybrany motyw (jasny, ciemny). |
syllabificationEnabled | Wartość logiczna | Określa, czy sylabizacja jest włączona, czy wyłączona. |
NounHighlightingEnabled | Wartość logiczna | Określa, czy wyróżnianie owników jest włączone, czy wyłączone. |
nounHighlightingColor | String | Ustawia wybrany kolor wyróżniania ciołów. |
verbHighlightingEnabled | Wartość logiczna | Określa, czy wyróżnianie czasowników jest włączone, czy wyłączone. |
verbHighlightingColor | String | Ustawia wybrany kolor wyróżniania czasowników. |
przymiotnik wyróżnianieEnabled | Wartość logiczna | Określa, czy wyróżnianie przymiotnikowe jest włączone, czy wyłączone. |
Przymiotnik WyróżnianieColor | String | Ustawia wybrany kolor wyróżniania przymiotnikowego. |
adverbHighlightingEnabled | Wartość logiczna | Określa, czy wyróżnianie przeciwników jest włączone, czy wyłączone. |
adverbHighlightingColor | String | Ustawia wybrany kolor wyróżniania przeciwnika. |
pictureDictionaryEnabled | Wartość logiczna | Określa, czy słownik obrazów jest włączony, czy wyłączony. |
posLabelsEnabled | Wartość logiczna | Określa, czy etykieta tekstowa indeksu górnego każdego wyróżnionego składnika Mowa jest włączona lub wyłączona. |
Obsługiwane języki
Funkcja tłumaczenia Czytnik immersyjny obsługuje wiele języków. Aby uzyskać więcej informacji, zobacz Obsługa języka.
Obsługa kodu HTML
Po włączeniu formatowania następująca zawartość jest renderowana jako HTML w Czytnik immersyjny.
HTML | Treści wspierane |
---|---|
Style czcionek | Pogrubienie, kursywa, podkreślenie, kod, przekreślenie, indeks górny, indeks dolny |
Listy nieuporządkowane | Tarcza, okrąg, kwadrat |
Listy uporządkowane | Liczba dziesiętna, górna alfa, dolna-alfa, rzymsko-górna, dolna-rzymska |
Nieobsługiwane tagi są renderowane w sposób porównywalny. Obrazy i tabele nie są obecnie obsługiwane.
Obsługa przeglądarek
Użyj najnowszych wersji poniższych przeglądarek, aby uzyskać najlepsze środowisko pracy z Czytnik immersyjny.
- Microsoft Edge
- Google Chrome
- Mozilla Firefox
- Apple Safari