תיאור
כדי להתאים אישית את חלונית מכשיר ההקלטה בכלי הפיתוח, צריך להשתמש ב-API chrome.devtools.recorder.
ה-API של devtools.recorder הוא תכונה של תצוגה מקדימה שמאפשרת להרחיב את חלונית מכשיר ההקלטה בכלי הפיתוח ל-Chrome.
למבוא כללי לשימוש בממשקי API של כלים למפתחים, אפשר לעיין בסיכום ממשקי ה-API של כלי הפיתוח.
זמינות
מושגים ושימוש
התאמה אישית של תכונת הייצוא
כדי לרשום פלאגין של תוסף, צריך להשתמש בפונקציה registerRecorderExtensionPlugin. הפונקציה הזו מחייבת מופע של פלאגין, name ו-mediaType כפרמטרים. במופע של הפלאגין צריך להטמיע שתי שיטות: stringify ו-stringifyStep.
השדה name שסופק על ידי התוסף מופיע בתפריט ייצוא בחלונית מכשיר ההקלטה.
בהתאם להקשר הייצוא, כשהמשתמש לוחץ על אפשרות הייצוא שהתוסף מספק, בחלונית מכשיר ההקלטה מופעלות אחת משתי הפונקציות:
stringifyשמקבל תיעוד מלא של זרימת המשתמשstringifyStepשמקבל שלב מוקלט אחד
הפרמטר mediaType מאפשר לתוסף לציין את סוג הפלט שהוא יוצר עם
פונקציות stringify ו-stringifyStep. לדוגמה, application/javascript אם התוצאה היא JavaScript
בתוכנית.
התאמה אישית של לחצן ההפעלה מחדש
כדי להתאים אישית את לחצן ההפעלה החוזרת במכשיר ההקלטה, צריך להשתמש בפונקציה registerRecorderExtensionPlugin. הפלאגין חייב להטמיע את השיטה replay כדי שההתאמה האישית תיכנס לתוקף.
אם השיטה זוהתה, יופיע לחצן הפעלה חוזרת במכשיר ההקלטה.
לאחר לחיצה על הלחצן, אובייקט ההקלטה הנוכחי יועבר כארגומנט הראשון לשיטה replay.
בשלב הזה, התוסף יכול להציג RecorderView לטיפול בהפעלה החוזרת או להשתמש בממשקי API אחרים של תוספים כדי לעבד את הבקשה להפעלה מחדש. כדי ליצור RecorderView חדש, צריך להפעיל את chrome.devtools.recorder.createView.
דוגמאות
ייצוא הפלאגין
הקוד הבא מיישם פלאגין של תוסף שיוצר מחרוזות להקלטה באמצעות 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'
);
הפעלה מחדש של הפלאגין
הקוד הבא מיישם פלאגין של תוסף שיוצר תצוגת דמה של מכשיר ההקלטה ומציג אותה בבקשת הפעלה חוזרת:
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
ממשק פלאגין שמופעל בחלונית מכשיר ההקלטה כדי להתאים אישית את החלונית של מכשיר ההקלטה.
מאפיינים
-
הפעלה מחדש
ריק
Chrome 112 ואילךמאפשר לתוסף להטמיע פונקציונליות מותאמת אישית של הפעלה מחדש.
הפונקציה
replayנראית כך:(recording: object) => {...}
-
להקליט את
אובייקט
תיעוד האינטראקציה של המשתמש עם הדף. היא צריכה להתאים לסכימת ההקלטה של Puppeteer.
-
-
Stringify
ריק
הפונקציה ממירה הקלטה מהפורמט של לוח מכשיר ההקלטה למחרוזת.
הפונקציה
stringifyנראית כך:(recording: object) => {...}
-
להקליט את
אובייקט
תיעוד האינטראקציה של המשתמש עם הדף. היא צריכה להתאים לסכימת ההקלטה של Puppeteer.
-
-
stringifyStep
ריק
הפונקציה ממירה שלב בהקלטה מפורמט לוח מכשיר ההקלטה למחרוזת.
הפונקציה
stringifyStepנראית כך:(step: object) => {...}
-
שלב
אובייקט
שלב בהקלטת האינטראקציה של משתמש עם הדף. היא צריכה להתאים לסכימת השלבים של Puppeteer.
-
RecorderView
מייצג תצוגה שנוצרה על ידי תוסף שתוטמע בחלונית מכשיר ההקלטה.
מאפיינים
-
onHidden
אירוע<functioncancelcancel>
מופעל כשהתצוגה מוסתרת.
הפונקציה
onHidden.addListenerנראית כך:(callback: function) => {...}
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callbackנראה כך:() => void
-
-
onShown
אירוע<functioncancelcancel>
מופעל כשמוצגת תצוגה.
הפונקציה
onShown.addListenerנראית כך:(callback: function) => {...}
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callbackנראה כך:() => void
-
-
הצג
ריק
מציין שהתוסף רוצה להציג את התצוגה הזו בחלונית 'מכשיר הקלטה'.
הפונקציה
showנראית כך:() => {...}
שיטות
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
מחרוזת
סוג המדיה של תוכן המחרוזת שהפלאגין מפיק.