إعدادات العارض

خيارات عنصر واجهة المستخدم للعارض العميل

ViewerConfig (المساحة Doconut) تصف مظهر وسلوك عارض المتصفح. لا يؤثر على جودة عرض المستند؛ استخدم إعداد تنسيق لذلك. فئة C# وعنصر واجهة المستخدم الجافاسكريبت القديم لديهما إعدادات افتراضية مختلفة، لذا يجب تعيين القيم صراحةً.

تغييران على جانب العميل في هذا الإصدار يفشلان بصمت. يتم تمرير دوال المعالج كخيارات — لم يعد العنصر يستخرج أسماء الدوال العالمية من معرف الحاوية — ويجب أن يشير ResPath إلى بادئة الموارد بدلاً من جذر التطبيق. كلاهما يترك الخادم يعمل بشكل كامل ولا يُظهر أي شيء في وحدة تحكم المتصفح. إذا كنت تنقل صفحة من المكتبة السابقة، اقرأ ردود النداء وقائمة التحقق من المسار قبل أي شيء آخر.

خصائص C#

النوعالخاصيةالافتراضيالوصف
boolShowThumbstrueإظهار لوحة الصور المصغرة.
boolAutoLoadfalseتحميل تلقائي بعد التهيئة. تدفق الرمز المميز العادي يستدعي View(token) صراحةً.
boolAutoFocustrueنقل تركيز المتصفح/التمرير إلى العارض أثناء التهيئة.
boolAutoPageFocustrueإبقاء الصورة المصغرة الحالية مرئية أثناء تغيير الصفحات.
intPageZoom100نسبة التكبير الأولية.
intZoomStep10النسبة المضافة أو المزالة بأوامر التكبير.
intMaxZoom300الحد الأقصى لنسبة التكبير.
boolShowToolTiptrueإظهار تلميح موقع الصفحة أثناء التمرير.
stringToolTipPageText"Page "البادئة المستخدمة في تلميح الصفحة.
boolCacheEnabledfalseالاحتفاظ بنوافذ متحركة من صور الصفحات في ذاكرة المتصفح. لا يستخدم localStorage.
boolLargeDocfalseإضافة عناصر الصفحات على دفعات زمنية للوثائق الكبيرة.
boolShowHyperlinksfalseعرض طبقات الروابط التشعبية عندما يستخرجها تكوين الخادم.
boolFixedZoomtrueاستخدام نسبة تكبير ثابتة بدلاً من إعادة حساب استجابية.
intFixedZoomPercent100تكبير ثابت لسطح المكتب.
intFixedZoomPercentMobile75تكبير ثابت للجوال.
stringBasePath"/"المكان الذي يرسل فيه العارض طلبات الصفحات. "/" هو DocImage.axd في جذر الموقع؛ وإلا الفرع حيث يطبع المضيف UseDoconut()، بدون علامة / في البداية ("doconut" يعني /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)المجلد الذي يحمل منه العنصر صوره الخاصة: مجلد images تحت ResourcesPath، بدون علامة / في البداية.
stringFitType"width""width"، "height"، أو فارغ لعدم وجود ملاءمة تلقائية. "page" غير مقبول في العنصر الحالي.
boolRetryOn409falseتمكين الاستطلاع عندما تستجيب إنتاج الصفحات غير المتزامنة/الموزعة بـ 202 Accepted؛ كما يتم قبول 409 للتوافق مع الخوادم القديمة. غير مطلوب للعارض المتزامن العادي.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "doconut",           // بدون '/' في البداية: يضيفها العارض ("/doconut" سيصبح //doconut، مضيف آخر)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

تحويل C# إلى جافاسكريبت

C#جافاسكريبت
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

الإعدادات الافتراضية لجافاسكريبت

الودجت يحتوي على إعدادات افتراضية أقدم تختلف عن فئة C#. القيم التالية مأخوذة من تنفيذ docViewer.js الحالي.

الخيارالافتراضيملاحظات
leftMinWidth / leftMaxWidth220 / 800حدود عرض لوحة المصغرات.
showThumbstrueرؤية المصغرات الأولية.
autoFocus / autoPageFocustrue / falseautoPageFocus يختلف عن الإعداد الافتراضي في C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10هندسة المصغرات بالبكسل.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom في جافاسكريبت يختلف عن C# (300).
showToolTip / toolTipPageTexttrue / "Page "تلميح موضع الصفحة.
format / doc / AccessToken"" / 0 / ""قيم التهيئة الداخلية؛ عادةً ما تُملأ بواسطة View(token).
debugModefalseتشخيصات إضافية للعميل.
FitType""لا يوجد ضبط تلقائي ما لم يتم توفيره.
BasePath"DocImage.axd"الإعداد الافتراضي التاريخي للعميل محفوظ للتوافق. يجب على مضيفي ASP.NET Core الحاليين تعيينه صراحةً إلى فرع الوسيط المربوط.
ResPath""تعيين صراحةً إلى مسار الصور المدمجة.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3نافذة وتأخير التحميل المسبق للصفحات في الذاكرة.
autoLoadfalseيوصى بتدفق الرمز المميز الصريح.
largeDoctrueيختلف عن الإعداد الافتراضي في C#.
fixedZoomfalseيختلف عن الإعداد الافتراضي في C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50القيمة للهواتف المحمولة تختلف عن C# (75).
showHyperlinkstrueيتطلب استخراجًا من جانب الخادم لإنتاج الطبقات الفوقية.

قم بتعيين جميع القيم المهمة سلوكياً بدلاً من الاعتماد على أي من مجموعتي الإعدادات الافتراضية:

html
<div id="divDocViewer"><div id="div_ctlDoc"></div></div>

<script>
const objViewer = $('#div_ctlDoc').docViewer({
    showThumbs: true,
    autoLoad: false,
    autoFocus: true,
    autoPageFocus: true,
    pageZoom: 100,
    zoomStep: 10,
    maxZoom: 300,
    FitType: 'width',
    cacheEnabled: false,
    largeDoc: false,
    showHyperlinks: true,
    fixedZoom: true,
    fixedZoomPercent: 100,
    fixedZoomPercentMobile: 75,
    BasePath: 'doconut',
    ResPath: 'doconut-res/images',
    onViewerReady: function () {},
    onError: function (message) { console.error('DocViewer:', message); }
});
</script>

ردود النداء

رد النداءالمعاملاتالغرض
onPageLoadingpageNumبدء طلب صفحة.
onPageLoadedpageNumانتهى تحميل صورة الصفحة.
onThumbnailClickedpageNumاختار المستخدم مصغراً.
onPageClickedpageNumاختار المستخدم صفحة.
onDoubleClickلا شيءاستقبل العارض نقرة مزدوجة.
onViewerBusyلا شيءدخل العارض حالة الانشغال.
onViewerReadyلا شيءاكتملت التهيئة.
onViewerErrorلا شيءدخل العارض حالة الخطأ.
onErrormessageأرجعت عملية رسالة خطأ.
onCopydataبيانات نسخ النص متاحة.
onAutoLoadStatuspageNumتقدم التحميل التلقائي إلى صفحة.
onThumbsShownلا شيءظهرت لوحة المصغرات.
onAnnLoadedلا شيءتم تحميل بيانات التعليقات التوضيحية.
onAnnSavedلا شيءتم حفظ بيانات التعليقات التوضيحية.
onAnnSaveErrorلا شيءفشل حفظ التعليقات التوضيحية.
onAnnClosedلا شيءأُغلق واجهة التعليقات التوضيحية.

احرص على أن تكون ردود النداء سريعة؛ أرسل بيانات القياس عن بعد بشكل غير متزامن ولا تحجب عملية عرض الصفحة.

كل واحدة من هذه هي خيار في كائن التهيئة. كان العارض السابق يبحث عن الدوال العامة التي اشتق أسماؤها من معرف الحاوية — صفحة تحتوي على <div id="div_ctlDoc"> كان عليها فقط إعلان function ctlDoc_OnViewerReady(). تم إلغاء هذا البحث. قم بتمرير الدالة صراحةً:

javascript
objctlDoc = $('#div_ctlDoc').docViewer({
    // ... your existing options ...
    onViewerBusy:     ctlDoc_OnViewerBusy,      // was found by name
    onViewerReady:    ctlDoc_OnViewerReady,     // was found by name
    onCopy:           ctlDoc_Copy,              // was ctlDoc_Copy(text)
    onAutoLoadStatus: ctlDoc_AutoLoadStatus     // was ctlDoc_AutoLoadStatus(page)
});

كان البحث القديم محاطًا بـ catch فارغ، لذا لم يتم الإبلاغ عن أي شيء. في هذا الإصدار لا تُنفّذ الدوال أبداً: العرض الشائع هو وجود مؤشر تحميل مستمر لا يتوقف، لأن المعالج الذي كان يخفيه هو onViewerReady. المستند خلفه يُعرض بشكل صحيح.

لا توجد رد نداء عند النقر على الرابط — معالجة الروابط مدمجة وتُدار بواسطة showHyperlinks.

مجموعات الطرق العامة

المجموعةالطرق الشائعة
دورة الحياةView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
التنقلGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
التكبير والملاءمةZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
الاتجاهRotate(page, angle), Flip(page, flipType)
الصور المصغرةHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
البحثCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
التعليقات التوضيحيةSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
النسخCopy(...), CopyPage(pageNumber), CopyMode(enabled)

ملف JavaScript يحتوي على مساعدات داخلية أيضًا. عالج فقط الطرق المستخدمة من قبل واجهة المستخدم المرجعية والموثقة هنا أو في أدلة الميزات كنقاط دمج مستقرة.

إعادة المحاولة بينما لا يزال صفحة موزعة تُعرض

retryOn409 يحتفظ باسمه التاريخي. هو مخصص لإنتاج الصفحات غير المتزامن ويعيد محاولة استجابة الجاهزية 202 Accepted وكذلك إشارة 409 Conflict الأقدم. عند التفعيل، يستطلع الودجت بهذه الإعدادات الافتراضية للـ JavaScript:

الخيارالافتراضي
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

اتركه معطلاً للمشاهد الفردي العادي. تمكينه لا يمكن أن يجعل عرضًا متزامنًا غير مدعوم غير متزامن.

قم بتمكينه عندما تُقدم الصفحات من تخزين مشترك مع FirstPagePriority، حيث تُجيب الصفحات اللاحقة بصورة شرعية بـ 202 Accepted حتى تُكتب. العميل الذي لا يعيد المحاولة يُظهر مربعات مكسورة للصفحات التي لا تزال تُعرض — انظر التوزيعات الموزعة.

قائمة التحقق للمسار

  • DoconutOptions.MiddlewarePath يجب أن يصف الفرع الذي تقوم بربطه فعليًا.
  • BasePath يجب أن يستهدف ذلك الفرع، مكتوبًا بدون / في البداية ('doconut'، وليس '/doconut': المشاهد يضيف الشرط المائل، و//doconut/... هو طلب إلى مضيف آخر). التطبيق المرجعي يحتفظ بشكل طلب DocImage.axd التاريخي على فرع MapWhen وبالتالي يحدد BasePath: '/'.
  • DoconutOptions.ResourcesPath هو مسار المورد المضمّن.
  • ResPath عادةً ما يستهدف مجلد images الفرعي، بدون / في البداية — 'doconut-res/images' مع البادئة الافتراضية. كان ResPath الفارغ صحيحًا في المكتبة السابقة، حيث كانت الموارد تأتي من جذر التطبيق؛ ليس صحيحًا هنا، ويفشل دون خطأ.
  • ExtractHyperlinks يجب أن يكون مفعلاً في تكوين تنسيق الخادم قبل أن يتمكن showHyperlinks من عرض أي شيء.

هل كانت هذه الصفحة مفيدة؟