תאריך הרענון: 2026-09-25 robots: noindex
תיאור
משתמשים ב-chrome.devtools.recorder API כדי להתאים אישית את החלונית Recorder בכלי הפיתוח.
זמינות
במאמר סיכום של ממשקי DevTools API יש מבוא כללי לשימוש בממשקי API של כלים למפתחים.
סקירה כללית
devtools.recorder API הוא תכונת טרום-השקה שמאפשרת להרחיב את החלונית Recorder בכלי הפיתוח ל-Chrome.
החל מ-Chrome M105, אפשר להרחיב את פונקציית הייצוא. החל מגרסה Chrome M112, אפשר להרחיב את לחצן ההפעלה מחדש.
התאמה אישית של תכונת הייצוא
כדי לרשום תוסף, משתמשים בפונקציה registerRecorderExtensionPlugin. הפונקציה הזו דורשת מופע של תוסף, name ו-mediaType כפרמטרים. מופע הפלאגין צריך להטמיע שתי שיטות: stringify ו-stringifyStep.
האפשרות name שמופיעה בתפריט ייצוא בחלונית כלי ההקלטה.
בהתאם להקשר של הייצוא, כשהמשתמש לוחץ על אפשרות הייצוא שמופיעה בתוסף, החלונית Recorder מפעילה אחת משתי הפונקציות:
-
stringifyשמקבל הקלטה של כל מסלול המשתמש stringifyStepשמקבל שלב מוקלט יחיד
הפרמטר mediaType מאפשר לתוסף לציין את סוג הפלט שהוא יוצר באמצעות הפונקציות stringify ו-stringifyStep. לדוגמה, application/javascript אם התוצאה היא תוכנית JavaScript.
דוגמה לייצוא של פלאגין
הקוד הבא מטמיע תוסף הרחבה שממיר הקלטה למחרוזת באמצעות JSON.stringify:
class MyPlugin {
stringify(recording) {
return Promise.resolve(JSON.stringify(recording));
}
stringifyStep(step) {
return Promise.resolve(JSON.stringify(step));
}
}
chrome.devtools.recorder.registerRecorderExtensionPlugin(
new MyPlugin(),
/*name=*/'MyPlugin',
/*mediaType=*/'application/json'
);
התאמה אישית של כפתור ההפעלה מחדש
כדי להתאים אישית את לחצן ההפעלה מחדש במכשיר ההקלטה, משתמשים בפונקציה registerRecorderExtensionPlugin. כדי שההתאמה האישית תפעל, צריך להטמיע בפלאגין את השיטה replay.
אם השיטה מזוהה, מופיע לחצן הפעלה חוזרת בכלי ההקלטה.
כשלוחצים על הכפתור, אובייקט ההקלטה הנוכחי מועבר כארגומנט הראשון לשיטה replay.
בשלב הזה, התוסף יכול להציג RecorderView כדי לטפל בהפעלה מחדש או להשתמש בממשקי API אחרים של תוספים כדי לעבד את בקשת ההפעלה מחדש. כדי ליצור RecorderView חדש, מפעילים את chrome.devtools.recorder.createView.
דוגמה לפלאגין להפעלה מחדש
הקוד הבא מטמיע תוסף הרחבה שיוצר תצוגה פיקטיבית של כלי ההקלטה ומציג אותה כשמתקבלת בקשה להפעלה מחדש:
const view = await chrome.devtools.recorder.createView(
/* name= */ 'ExtensionName',
/* pagePath= */ 'Replay.html'
);
let latestRecording;
view.onShown.addListener(() => {
// Recorder has shown the view. Send additional data to the view if needed.
chrome.runtime.sendMessage(JSON.stringify(latestRecording));
});
view.onHidden.addListener(() => {
// Recorder has hidden the view.
});
export class RecorderPlugin {
replay(recording) {
// Share the data with the view.
latestRecording = recording;
// Request to show the view.
view.show();
}
}
chrome.devtools.recorder.registerRecorderExtensionPlugin(
new RecorderPlugin(),
/* name=*/ 'CoffeeTest'
);
דוגמה מלאה לתוסף זמינה ב-GitHub.
סוגים
RecorderExtensionPlugin
ממשק פלאגין שחלונית מכשיר ההקלטה מפעילה כדי להתאים אישית את חלונית מכשיר ההקלטה.
מאפיינים
-
הפעלה מחדש
void
Chrome 112 ואילךמאפשרת לתוסף להטמיע פונקציונליות של הפעלה חוזרת בהתאמה אישית.
הפונקציה
replayנראית כך:(recording: object) => {...}
-
להקליט את
אובייקט
הקלטה של האינטראקציה של המשתמש עם הדף. הפורמט צריך להיות זהה לפורמט של סכימת התיעוד של Puppeteer.
-
-
stringify
void
הפונקציה ממירה הקלטה מפורמט החלונית של מכשיר ההקלטה למחרוזת.
הפונקציה
stringifyנראית כך:(recording: object) => {...}
-
להקליט את
אובייקט
הקלטה של האינטראקציה של המשתמש עם הדף. הפורמט צריך להיות זהה לפורמט של סכימת התיעוד של Puppeteer.
-
-
stringifyStep
void
הפונקציה ממירה שלב בהקלטה מפורמט של חלונית הרשמקול למחרוזת.
הפונקציה
stringifyStepנראית כך:(step: object) => {...}
-
שלב
אובייקט
שלב בהקלטה של אינטראקציה של משתמש עם הדף. הפורמט צריך להיות זהה לפורמט של סכימת השלבים של Puppeteer.
-
RecorderView
מייצג תצוגה שנוצרה על ידי תוסף כדי להטמיע אותה בחלונית של כלי ההקלטה.
מאפיינים
-
onHidden
Event<functionvoidvoid>
האירוע מופעל כשהתצוגה מוסתרת.
הפונקציה
onHidden.addListenerנראית כך:(callback: function) => {...}
-
callback
פונקציה
הפרמטר
callbackנראה כך:() => void
-
-
onShown
Event<functionvoidvoid>
האירוע מופעל כשהתצוגה מוצגת.
הפונקציה
onShown.addListenerנראית כך:(callback: function) => {...}
-
callback
פונקציה
הפרמטר
callbackנראה כך:() => void
-
-
הצג
void
מציין שהתוסף רוצה להציג את התצוגה הזו בחלונית של כלי ההקלטה.
הפונקציה
showנראית כך:() => {...}
Methods
createView()
chrome.devtools.recorder.createView(
title: string,
pagePath: string,
): RecorderView
יוצר תצוגה שיכולה לטפל בהפעלה מחדש. התצוגה הזו תוטמע בחלונית של כלי ההקלטה.
פרמטרים
-
title
מחרוזת
הכותרת שמוצגת לצד סמל התוסף בסרגל הכלים של כלי הפיתוח.
-
pagePath
מחרוזת
הנתיב של דף ה-HTML של החלונית ביחס לספריית התוסף.
החזרות
registerRecorderExtensionPlugin()
chrome.devtools.recorder.registerRecorderExtensionPlugin(
plugin: RecorderExtensionPlugin,
name: string,
mediaType: string,
): void
רושם פלאגין של תוסף למכשיר ההקלטה.
פרמטרים
-
פלאגין
מופע שמטמיע את הממשק RecorderExtensionPlugin.
-
שם
מחרוזת
שם הפלאגין.
-
mediaType
מחרוזת
סוג המדיה של תוכן המחרוזת שהתוסף יוצר.