ViewerConfig
אפשרויות וידג'ט מציג לקוח
ViewerConfig (namespace Doconut) מתאר את המראה וההתנהגות של מציג הדפדפן. הוא אינו משפיע על איכות רינדור המסמך; השתמשו בתצורת פורמט עבור זאת. מחלקת C# והווידג'ט הישן של JavaScript כוללים ערכי ברירת מחדל שונים, ולכן יש למפות ערכים במפורש.
שתי שינויים בצד הלקוח במוצא זה נכשלות בשקט. פונקציות מנהל נמסרות כאפשרויות — הווידג'ט כבר לא יוצר שמות פונקציות גלובליות ממזהה המכולה — ו‑
ResPathחייב להצביע על קידומת המשאבים במקום על שורש היישום. שני אלה משאירים את השרת פועל בצורה מושלמת ולא מדווחים דבר בקונסול הדפדפן. אם אתם מעבירים דף מהספרייה הקודמת, קראו קריאות חוזרות ו‑רשימת בדיקת נתיבים לפני כל דבר אחר.
מאפייני C#
| סוג | מאפיין | ברירת מחדל | תיאור |
|---|---|---|---|
bool | ShowThumbs | true | הצגת לוח התמונות הממוזערות. |
bool | AutoLoad | false | טעינה אוטומטית לאחר האתחול. זרימת הטוקן הרגילה קוראת ל‑View(token) במפורש. |
bool | AutoFocus | true | הזזת מיקוד/גלילת הדפדפן אל המציג במהלך האתחול. |
bool | AutoPageFocus | true | שמירת התמונה הממוזערת הנוכחית גלויה בזמן שהדפים משתנים. |
int | PageZoom | 100 | אחוז זום ראשוני. |
int | ZoomStep | 10 | אחוז שנוסף או מוסר על ידי פקודות זום. |
int | MaxZoom | 300 | אחוז זום מרבי. |
bool | ShowToolTip | true | הצגת תיאור מיקום העמוד בעת גלילה. |
string | ToolTipPageText | "Page " | קידומת המשמשת בתיאור המיקום של העמוד. |
bool | CacheEnabled | false | שמירת חלון נע של תמונות דפים בזיכרון הדפדפן. אינו משתמש ב‑localStorage. |
bool | LargeDoc | false | הוספת אלמנטים של דפים במנות מתוזמנות למסמכים גדולים. |
bool | ShowHyperlinks | false | הצגת שכבות קישורים כאשר תצורת השרת חילצה אותם. |
bool | FixedZoom | true | שימוש באחוז זום קבוע במקום חישוב רספונסיבי. |
int | FixedZoomPercent | 100 | זום קבוע למחשב שולחני. |
int | FixedZoomPercentMobile | 75 | זום קבוע למכשיר נייד. |
string | BasePath | "/" | הענף שבו המארח ממפה UseDoconut(). |
string | ResPath | "doconut-res" | בסיס המשאבים בו משתמש הווידג'ט. בהגדרה רגילה הפנו אותו אל <ResourcesPath>/images. |
string | FitType | "width" | \"width\", \"height\", או ריק ללא התאמה אוטומטית. \"page\" אינו מתקבל על ידי הווידג'ט הנוכחי. |
bool | RetryOn409 | false | הפעלת חיפוש חוזר כאשר ייצור דפים אסינכרוני/מבוזר מחזיר 202 Accepted; 409 גם מתקבל לתאימות עם שרתים ישנים. אינו נדרש במציג הסינכרוני הרגיל. |
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "/doconut",
ResPath = "/doconut-res/images",
ShowHyperlinks = true
};מיפוי C# ל‑JavaScript
| C# | JavaScript |
|---|---|
ShowThumbs | showThumbs |
AutoLoad | autoLoad |
AutoFocus | autoFocus |
AutoPageFocus | autoPageFocus |
PageZoom | pageZoom |
ZoomStep | zoomStep |
MaxZoom | maxZoom |
ShowToolTip | showToolTip |
ToolTipPageText | toolTipPageText |
CacheEnabled | cacheEnabled |
LargeDoc | largeDoc |
ShowHyperlinks | showHyperlinks |
FixedZoom | fixedZoom |
FixedZoomPercent | fixedZoomPercent |
FixedZoomPercentMobile | fixedZoomPercentMobile |
BasePath | BasePath |
ResPath | ResPath |
FitType | FitType |
RetryOn409 | retryOn409 |
ברירות מחדל של JavaScript
| אפשרות | ברירת מחדל | הערות |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | גבולות רוחב לוח התמונות הממוזערות. |
showThumbs | true | נראות ראשונית של התמונות הממוזערות. |
autoFocus / autoPageFocus | true / false | autoPageFocus שונה מברירת המחדל של C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | גיאומטריית תמונות ממוזערות בפיקסלים. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | maxZoom של JavaScript שונה מ‑C# (300). |
showToolTip / toolTipPageText | true / "Page " | תיאור מיקום העמוד. |
format / doc / AccessToken | "" / 0 / "" | ערכי אתחול פנימיים; בדרך כלל מתמלאים על ידי View(token). |
debugMode | false | אבחון לקוח נוסף. |
FitType | "" | אין התאמה אוטומטית אלא אם כן מסופקת. |
BasePath | "DocImage.axd" | ברירת מחדל היסטורית של לקוח שנשמרה לתאימות. מארחי ASP.NET Core נוכחיים חייבים להגדיר זאת במפורש לענף המידלוור הממופה. |
ResPath | "" | הגדרה מפורשת לנתיב התמונות המוטמעים. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | חלון טעינה מראש של דפים בזיכרון ועיכוב. |
autoLoad | false | מומלץ להשתמש בזרימת טוקן מפורשת. |
largeDoc | true | שונה מברירת המחדל של C#. |
fixedZoom | false | שונה מברירת המחדל של C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | הערך במובייל שונה מ‑C# (75). |
showHyperlinks | true | דורש חילוץ בצד השרת כדי לייצר שכבות. |
<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>קריאות חוזרות
| קריאה חוזרת | ארגומנטים | מטרה |
|---|---|---|
onPageLoading | pageNum | בקשת דף מתחילה. |
onPageLoaded | pageNum | תמונת דף הסתיימה בטעינה. |
onThumbnailClicked | pageNum | המשתמש בחר בתמונה ממוזערת. |
onPageClicked | pageNum | המשתמש בחר בדף. |
onDoubleClick | none | המציג קיבל לחיצה כפולה. |
onViewerBusy | none | המציג נכנס למצב עסוק. |
onViewerReady | none | האתחול הושלם. |
onViewerError | none | המציג נכנס למצב שגיאה. |
onError | message | פעולה החזירה הודעת שגיאה. |
onCopy | data | נתוני העתקת טקסט זמינים. |
onAutoLoadStatus | pageNum | טעינה אוטומטית התקדמה לדף. |
onThumbsShown | none | לוח התמונות הממוזערות הפך גלוי. |
onAnnLoaded | none | נתוני ההערות נטענו. |
onAnnSaved | none | נתוני ההערות נשמרו. |
onAnnSaveError | none | שמירת ההערות נכשלה. |
onAnnClosed | none | ממשק ההערות נסגר. |
שמרו על קריאות חוזרות מהירות; שלחו טלמטריה באופן אסינכרוני ואל תחסמו את רינדור העמוד.
כל אחת מהן היא אפשרות באובייקט האתחול. המציג הקודם חיפש
פונקציות גלובליות שהשמות שלהן נגזרו ממזהה המכולה — דף עם
<div id="div_ctlDoc"> היה צריך רק להגדיר function ctlDoc_OnViewerReady(). החיפוש
הזה נעלם. העבירו את הפונקציה במפורש:
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 הבאות:
| אפשרות | ברירת מחדל |
|---|---|
retryInitialDelayMs | 250 |
retryBackoffFactor | 1.6 |
retryMaxDelayMs | 2500 |
retryMaxAttempts | 60 |
retryMaxTotalMs | 120000 |
השאירו אותו מושבת עבור מציג יחיד רגיל. הפעלתו אינה יכולה להפוך רינדור סינכרוני שאינו נתמך לאסינכרוני.
הפעילו אותו כאשר דפים מוגשים מאחסון משותף עם FirstPagePriority, שבו דפים מאוחרים יותר משיבים באופן חוקי 202 Accepted עד שהם נכתבים. לקוח שלא מנסה מחדש מציג אריחים שבורים לדפים שעדיין מתורגמים — ראו
פריסות מבוזרות.
רשימת בדיקת נתיבים
DoconutOptions.MiddlewarePathחייב לתאר את הענף שאתה בפועל ממפה.BasePathחייב למקד את הענף הזה. יישום הרפרנס שומר על צורת הבקשה ההיסטוריתDocImage.axdעל ענףMapWhenולכן מגדירBasePath: '/'.DoconutOptions.ResourcesPathהוא נתיב המשאב המוטמע.ResPathבדרך כלל מצביע לתיקיית המשנה/images—'doconut-res/images'עם הקידומת ברירת המחדל.ResPathריק היה נכון בספרייה הקודמת, שבה המשאבים הגיעו משורש היישום; הוא אינו נכון כאן, והוא נכשל ללא הודעת שגיאה.ExtractHyperlinksחייב להיות מופעל בתצורת הפורמט של השרת לפני ש‑showHyperlinksיכול להציג משהו.
האם דף זה היה מועיל?