القارئ الشامل مرجع JavaScript SDK (إصدار 1.4)
يحتوي SDK للقارئ الشامل على مكتبة JavaScript تتيح لك دمج القارئ الشامل في التطبيق الخاص بك.
يمكنك استخدام npm
أو yarn
أو عنصر HTML <script>
لتضمين مكتبة أحدث إصدار مستقر في تطبيق الويب الخاص بك:
<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
الوظائف
تعرض SDK هذه الدالات:
- ImmersiveReader.launchAsync(token, subdomain, content, options)
- ImmersiveReader.close()
- ImmersiveReader.renderButtons (خيارات)
وظيفه: launchAsync
ImmersiveReader.launchAsync(token, subdomain, content, options)
تشغيل القارئ الشامل داخل عنصر HTML iframe
في تطبيق الويب الخاص بك. يقتصر حجم المحتوى الخاص بك على 50 ميجابايت كحد أقصى.
launchAsync(token: string, subdomain: string, content: Content, options?: Options): Promise<LaunchResponse>;
المعلمة | النوع | الوصف |
---|---|---|
الرمز المميز | سلسلة | رمز مصادقة Microsoft Entra المميز. لمعرفة المزيد، راجع كيفية إنشاء مورد القارئ الشامل. |
فرعي | سلسلة | المجال الفرعي المخصص لمورد القارئ الشامل في Azure. |
المحتوى | المحتوى | كائن يحتوي على المحتوى الذي سيتم عرضه في القارئ الشامل. |
خيارات | الخيارات | خيارات لتكوين سلوكيات معينة خاصة بالقارئ الشامل. اختياري. |
المرتجعات
أعد Promise<LaunchResponse>
، والذي يحل عند تحميل القارئ الشامل. يتم Promise
حل إلى كائن LaunchResponse .
استثناءات
إذا فشل تحميل القارئ الشامل، يتم رفض الذي تم إرجاعه Promise
باستخدام كائن Error.
وظيفه: close
ImmersiveReader.close()
إغلاق القارئ الشامل.
مثال على حالة استخدام هذه الدالة في حالة كان زر الخروج مخفيًا عن طريق التعيين hideExitButton: true
فيالخيارات. بعد ذلك، يمكن لزر مختلف (على سبيل المثال، سهم خلفي لعنوان الهاتف المحمول) استدعاء هذه close
الدالة عند النقر فوقها.
close(): void;
وظيفه: renderButtons
الدالة ImmersiveReader.renderButtons(options)
ليست ضرورية إذا كنت تستخدم إرشادات الزر كيفية تخصيص القارئ الشامل.
تقوم هذه الوظيفة بتصميم وتحديث عناصر زر القارئ الشامل للمستند. إذا options.elements
تم توفيرها، فسيتم عرض الأزرار داخل كل عنصر متوفر في options.elements
. يعد استخدام المعلمة options.elements
مفيدًا عندما يكون لديك أقسام متعددة في المستند الخاص بك لتشغيل القارئ الشامل، وتريد طريقة مبسطة لعرض أزرار متعددة بنفس التصميم، أو تريد عرض الأزرار بنمط تصميم بسيط ومتسق. لاستخدام هذه الدالة مع معلمة خيارات renderButtons، قم باستدعاء ImmersiveReader.renderButtons(options: RenderButtonsOptions);
تحميل الصفحة كما هو موضح في القصاصة البرمجية التالية. وإلا، يتم عرض الأزرار داخل عناصر المستند التي تحتوي على الفئة immersive-reader-button
كما هو موضح في كيفية تخصيص زر القارئ الشامل.
// 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});
راجع سمات زر التشغيل الاختيارية لمزيد من خيارات العرض. لاستخدام هذه الخيارات، أضف أي من سمات الخيار إلى كل HTMLDivElement
منها في صفحة HTML الخاصة بك.
renderButtons(options?: RenderButtonsOptions): void;
المعلمة | النوع | الوصف |
---|---|---|
خيارات | خيارات أزرار العرض | خيارات لتكوين سلوكيات معينة لوظيفة أزرار العرض. اختياري. |
خيارات أزرار العرض
خيارات خاصة لعرض أزرار القارئ الشامل.
{
elements: HTMLDivElement[];
}
المعلمة | النوع | الوصف |
---|---|---|
عناصر | HTMLDivElement[] | عناصر خاصة بعرض أزرار القارئ الشامل فيها. |
Type: HTMLDivElement[]
Required: false
زر التشغيل
يوفر SDK التصميم الافتراضي لزر التشغيل القارئ الشامل. استخدم immersive-reader-button
سمة الفئة لتمكين هذا التصميم. لمزيد من المعلومات، راجع كيفية تخصيص زر القارئ الشامل.
<div class='immersive-reader-button'></div>
استخدم السمات الاختيارية التالية لتكوين شكل الزر وأسلوبه.
السمة | الوصف |
---|---|
نمط زر البيانات | يضبط نمط الزر. يمكن أن يكون icon ، أو text ، أو iconAndText . الإعدادات الافتراضية لـ icon . |
إعدادات البيانات المحلية | يضبط الإعدادات المحلية. على سبيل المثال: en-US أو fr-FR . الإعدادات الافتراضية إلى اللغةِ الإنجليزية en . |
أيقونة البيانات-px-size | يضبط حجم الأيقونة بالبكسل. الافتراضيات إلى 20 px. |
LaunchResponse
يتضمن على الاستجابة من الاستدعاء إلى ImmersiveReader.launchAsync
. يمكن الوصول إلى مرجع إلى عنصر HTML iframe
الذي يحتوي على القارئ الشامل عبر container.firstChild
.
{
container: HTMLDivElement;
sessionId: string;
charactersProcessed: number;
}
المعلمة | النوع | الوصف |
---|---|---|
حاوية | عنصر HTMLDivEl | عنصر HTML الذي يشتمل على عنصر القارئ الشاملiframe . |
sessionId | السلسلة | معرّف فريد عمومي خاص بهذه الجلسة، يُستخدم لتصحيح الأخطاء. |
charactersProcessed | رقم | إجمالي عدد الأحرف المعالجة |
خطأ
يحتوي على معلومات حول خطأ.
{
code: string;
message: string;
}
المعلمة | النوع | الوصف |
---|---|---|
الكود | السلسلة | إحدى مجموعة رموز الخطأ. |
رسالة | السلسلة | تمثيل للخطأ يمكن قراءته من قبل الإنسان. |
رمز الخطأ | الوصف |
---|---|
BadArgument | الوسيطة المتوفرة غير صحيحة. راجع message معلمة الخطأ. |
المهلة | فشل القارئ الشامل في التحميل خلال المهلة المحددة. |
انتهت صلاحية الرمز المميز | انتهاء صلاحية الرمز المميز المتوفر. |
مقيد | تم تجاوز حد سعر المكالمة. |
الأنواع
المحتوى
يحتوي على المحتوى الذي سيعرض في القارئ الشامل.
{
title?: string;
chunks: Chunk[];
}
المعلمة | النوع | الوصف |
---|---|---|
العنوان | السلسلة | يظهر نص العنوان أعلى القارئ الشامل (اختياري) |
مجموعات | Chunk[] | صفيف مكون من مجموعات |
title
Type: String
Required: false
Default value: "Immersive Reader"
chunks
Type: Chunk[]
Required: true
Default value: null
مجموعة
مجموعة واحدة من البيانات، والتي يتم تمريرها إلى محتوى القارئ الشامل.
{
content: string;
lang?: string;
mimeType?: string;
}
المعلمة | النوع | الوصف |
---|---|---|
المحتوى | السلسلة | السلسلة التي تشتمل على المحتوى المرسل إلى القارئ الشامل. |
lang | السلسلة | لغة النص، القيمة بتنسيق علامة IETF BCP 47 لغة ، على سبيل المثال، en، es-ES. يتم الكشف عن اللغة تلقائيا إذا لم يتم تحديدها. لمزيد من المعلومات، راجع اللغات المدعومة. |
mimeType | سلسلة | يتم دعم تنسيقات النص العادي، و MathML، و HTML و Microsoft Word DOCX. للمزيد من المعلومات، يرجي مراجعة أنواع الملفات المدعومة. |
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"
أنواع الملفات المدعومة
نوع MIME | الوصف |
---|---|
رسالة نصية/نص عادي | نص عادي. |
text/html | محتوى HTML. |
تطبيق/mathml+xml | لغة العلامات الرياضية (MathML). |
application/vnd.openxmlformats-officedocument.wordprocessingml.document | مستندات بتنسيق Microsoft Word. |
الخيارات
يحتوي على خصائص تكون سلوكيات معينة للقارئ الشامل.
{
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;
}
المعلمة | النوع | الوصف |
---|---|---|
اللغة الخاصة بواجهة المستخدم | السلسلة | لغة واجهة المستخدم، القيمة بتنسيق علامة IETF BCP 47 لغة ، على سبيل المثال، en، es-ES. إعدادات افتراضية للغة المتصفح في حالة عدم تحديدها. |
المهلة | الرقم | المدة (بالمللي ثانية) قبل فشل الإطلاق غير المتزامن مع خطأ انتهاء المهلة (الافتراضي هو 15000 مللي ثانية). لا تنطبق هذه المهلة إلا على الإطلاق الأولي لصفحة القارئ، عندما تفتح صفحة القارئ بنجاح ويبدأ زر الزيادة والنقصان. لا ينبغي أن يكون تعديل المهلة ضروريا. |
uiZIndex | الرقم | فهرس Z لعنصر HTML iframe الذي تم إنشاؤه (الافتراضي هو 1000). |
useWebview | Boolean | استخدم علامة عرض الويب بدلا من عنصر HTML iframe ، للتوافق مع تطبيقات Chrome (الافتراضي هو خطأ). |
onExit | الدالة | ينفذ عند الخروج من القارئ الشامل. |
مجال مخصص | السلسلة | محجوز للاستخدام الداخلي. مجال مخصص حيث يستضاف القارئ الشامل webapp (الافتراضي فارغ). |
allowFullscreen | Boolean | القدرة على تبديل وضع ملء الشاشة (الافتراضي هو صحيح). |
أصل | العقدة | العقدة التي يتم وضع عنصر HTML iframe أو Webview الحاوية فيها. في حالة عدم وجود العنصر، يوضع iframe في body . |
hideExitButton | Boolean | إخفاء سهم زر خروج القارئ الشامل (الإعداد الافتراضي خطأ). يجب أن تكون هذه القيمة صحيحة فقط إذا كانت هناك آلية بديلة متوفرة للخروج من القارئ الشامل (على سبيل المثال، السهم الخلفي لشريط أدوات المحمول). |
cookiePolicy | CookiePolicy | إعداد استخدام ملفات تعريف الارتباط الخاصة بالقارئ الشامل (الإعداد الافتراضي هو تعطيل نهج ملفات الارتباط). تقع على عاتق التطبيق المضيف مسؤولية الحصول على أي موافقة ضرورية للمستخدم باتباع نهج الامتثال الخاص بملفات تعريف الارتباط في الاتحاد الأوروبي. لمزيد من المعلومات، راجع خيارات نهج ملف تعريف الارتباط. |
disableFirstRun | Boolean | عطل تجربة التشغيل الأولى. |
خيارات القراءة بصوت مسموع | خيارات القراءة بصوت مسموع | خيارات لتكوين القراءة بصوت مسموع. |
translationOptions | TranslationOptions | خيارات لتكوين الترجمة. |
displayOptions | خيارات العرض | خيارات لتكوين حجم النص والخط والموضوع وما إلى ذلك. |
التفضيلات | السلسلة | أعيدت السلسلة من onPreferencesChanged التي تمثل تفضيلات المستخدم في القارئ الشامل. لمزيد من المعلومات، راجع كيفية تخزين تفضيلات المستخدم. |
onPreferencesChanged | الدالة | ينفذ عندما تتغير تفضيلات المستخدم. لمزيد من المعلومات، راجع كيفية تخزين تفضيلات المستخدم. |
disableTranslation | Boolean | تعطيل تجربة ترجمة الكلمات والمستندات. |
تعطيل التدقيق النحوي | Boolean | عطل تجربة التدقيق النحوي. يقوم هذا الخيار أيضا بتعطيل المقاطع وأجزاء الكلام وقاموس الصور، والذي يعتمد على أجزاء من الكلام. |
disableLanguageDetection | Boolean | عطل اكتشاف عن اللغة للتأكد من أن القارئ الشامل يستخدم اللغة المحددة بشكل صريح في مجموعة المحتوى/[]. يجب استخدام هذا الخيار باعتدال، في المقام الأول في الحالات التي لا يعمل فيها الكشف عن اللغة. على سبيل المثال، من المرجح أن تحدث هذه المشكلة مع مقاطع قصيرة أقل من 100 حرف. يلزم أن تكون متأكدًا من اللغة التي ترسلها، لأن تحويل النص إلى كلام لن يكون له الصوت الصحيح. لا تعمل المقاطع وأجزاء الكلام وقاموس الصور بشكل صحيح إذا لم تكن اللغة صحيحة. |
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
تنبيه
لا تحاول تغيير قيم -preferences
السلسلة المرسلة من وإلى تطبيق القارئ الشامل برمجيا لأن هذا قد يتسبب في سلوك غير متوقع يؤدي إلى انخفاض تجربة المستخدم. يجب ألا تقوم التطبيقات المضيفة أبدًا بتعيين قيمة مخصصة -preferences
للسلسلة أو التعامل معها. عند استخدام -preferences
خيار السلسلة، استخدم القيمة الدقيقة التي أعيدت فقط من خيار رد الاتصال -onPreferencesChanged
.
onPreferencesChanged
Type: Function
Required: false
Default value: null
customDomain
Type: String
Required: false
Default value: null
خيارات القراءة بصوت مسموع
type ReadAloudOptions = {
voice?: string;
speed?: number;
autoplay?: boolean;
};
المعلمة | النوع | الوصف |
---|---|---|
الصوت | السلسلة | الصوت، إما أنثى أو ذكر. ليست كل اللغات تدعم كلا الجنسين. |
السرعة | الرقم | سرعة التشغيل. يجب أن يكون بين 0.5 و2.5، ضمنا. |
autoPlay | Boolean | ابدأ القراءة بصوت عالٍ تلقائيًا عند تحميل القارئ الشامل. |
إشعار
نظرًا إلى قيود المتصفح، لا يدعم التشغيل التلقائي في 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;
};
المعلمة | النوع | الوصف |
---|---|---|
اللغة | السلسلة | تعيين لغة الترجمة، تكون القيمة بتنسيق علامة IETF BCP 47 لغة ، على سبيل المثال، fr-FR، es-MX، zh-Hans-CN. مطلوب لتمكين ترجمة الكلمات أو المستندات تلقائيًا. |
autoEnableDocumentTranslation | Boolean | ترجمة المستند تلقائيًا بالكامل. |
autoEnableWordTranslation | Boolean | تمكين ترجمة الكلمات تلقائيًا. |
language
Type: String
Required: true
Default value: null
Values available: For more information, see the Supported languages section
ThemeOption
enum ThemeOption { Light, Dark }
خيارات العرض
type DisplayOptions = {
textSize?: number;
increaseSpacing?: boolean;
fontFamily?: string;
themeOption?: ThemeOption
};
المعلمة | النوع | الوصف |
---|---|---|
textSize | الرقم | ضبط حجم النص المختار. |
increaseSpacing | Boolean | تعيين ما إذا كان سيشغل تباعد النص أو يتوقف تشغيله. |
مجموعة الخطوط | السلسلة | تعيين الخط المختار (Calibri أو ComicSans أو Sitka). |
themeOption | ThemeOption | تعيين النسق المختار للقارئ (فاتح، داكن). |
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"
خيارات نهج ملف تعريف الارتباط
enum CookiePolicy { Disable, Enable }
الإعدادات التالية هي لأغراض إعلامية فقط. يخزن القارئ الشامل إعداداته، أو تفضيلات المستخدم، في ملفات تعريف الارتباط. يعمل خيار ملف تعريف الارتباط هذا على تعطيل استخدام ملفات تعريف الارتباط افتراضيًا لاتباع قوانين الامتثال الخاصة بملفات تعريف الارتباط في الاتحاد الأوروبي. إذا كنت ترغب في إعادة تمكين ملفات تعريف الارتباط واستعادة الوظائف الافتراضية لتفضيلات المستخدم القارئ الشامل، يحتاج موقع الويب أو التطبيق إلى موافقة مناسبة من المستخدم لتمكين ملفات تعريف الارتباط. بعد ذلك، لإعادة تمكين ملفات تعريف الارتباط في القارئ الشامل، يجب تعيين خيار نهج ملفات تعريف الارتباط بشكل صريح إلى تعطيل سياسة ملفات تعريف الارتباط عند تشغيل القارئ الشامل.
يصف الجدول التالي الإعدادات التي يخزنها القارئ الشامل في ملف تعريف الارتباط الخاص به عند تمكين خيار cookiePolicy.
الإعدادات | النوع | الوصف |
---|---|---|
textSize | الرقم | ضبط حجم النص المختار. |
مجموعة الخطوط | السلسلة | تعيين الخط المختار (Calibri أو ComicSans أو Sitka). |
textSpacing | الرقم | تعيين ما إذا كان سيشغل تباعد النص أو يتوقف تشغيله. |
تمكين التنسيق | Boolean | تعيين ما إذا كان تنسيق HTML مشغلاً أو متوقفًا عن التشغيل. |
النسق | السلسلة | تعيين النسق المختار (فاتح، داكن). |
تمكين المقطع الصوتي | Boolean | تعيين ما إذا كان التبديل المقطعي إلى وضع التشغيل أو الإيقاف. |
nounHighlightingEnabled | Boolean | لتعيين ما إذا كان يتم تشغيل تمييز الاسم أو إيقاف تشغيله. |
nounHighlightingColor | السلسلة | تعيين اللون الذي اختير لتمييز الأسماء. |
verbHighlightingEnabled | Boolean | لتعيين ما إذا كان سيتم تشغيل تمييز الفعل أو إيقاف تشغيله. |
verbHighlightingColor | السلسلة | تعيين لون لتمييز الفعل المختار. |
adjectiveHighlightingEnabled | Boolean | يعيّن ما إذا كان سيشغل تمييز الصفة أو يتوقف عن التشغيل. |
adjectiveHighlightingColor | السلسلة | تعيين لون تمييز للصفة المختار. |
adverbHighlightingEnabled | Boolean | لتعيين ما إذا كان يشغل تمييز الظرف أو يتوقف تشغيله. |
adverbHighlightingColor | السلسلة | تعيين لون لتمييز الحال المختار. |
pictureDictionaryEnabled | Boolean | تعيين ما إذا كان سيشغل القاموس المصور أو يتوقف عن التشغيل. |
posLabelsEnabled | Boolean | يضبط ما إذا كان سيشغل أو يتوقف تسمية النص المرتفع لكل جزء مميز من الكلام. |
اللغات المدعومة
تدعم ميزة الترجمة في القارئ الشامل لغات متعددة. لمزيد من المعلومات، راجع دعم اللغة.
دعم HTML
عند تمكين التنسيق، يتم عرض المحتوى التالي بتنسيق HTML في القارئ الشامل.
HTML | المحتوى المدعوم |
---|---|
أنماط الخطوط | غامق، مائل، تسطير، تعليمة برمجية، يتوسطه خط، مرتفع، منخفض |
قوائم غير مرتبة | قرص، دائرة، مربع |
القوائم المرتبة | عشري، أبجدي علوي، أبجدي سفلي، روماني علوي، روماني سفلي |
يتم عرض العلامات غير المدعومة بشكل مقارنة. تعد الصور والجداول غير مدعومة حاليًا.
دعم المستعرضات
استخدم أحدث الإصدارات من المستعرضات الموضحة أدناه للحصول على أفضل تجربة مع القارئ الشامل.
- Microsoft Edge
- Google Chrome
- Mozilla Firefox
- Apple Safari