Mô tả
Sử dụng API chrome.devtools.recorder để tuỳ chỉnh bảng điều khiển Trình ghi trong Công cụ cho nhà phát triển.
devtools.recorder API là một tính năng xem trước cho phép bạn mở rộng bảng điều khiển Trình ghi trong Chrome DevTools.
Hãy xem Tóm tắt về các API của Công cụ cho nhà phát triển để biết thông tin tổng quan về cách sử dụng các API của Công cụ cho nhà phát triển.
Phạm vi cung cấp
Khái niệm và cách sử dụng
Tuỳ chỉnh tính năng xuất
Để đăng ký một trình bổ trợ tiện ích, hãy sử dụng hàm registerRecorderExtensionPlugin. Hàm này yêu cầu một thực thể trình bổ trợ, name và mediaType làm tham số. Đối tượng bổ trợ phải triển khai 2 phương thức: stringify và stringifyStep.
name do tiện ích cung cấp sẽ xuất hiện trong trình đơn Export (Xuất) trong bảng điều khiển Recorder (Trình ghi).
Tuỳ thuộc vào bối cảnh xuất, khi người dùng nhấp vào lựa chọn xuất do tiện ích cung cấp, bảng điều khiển Trình ghi sẽ gọi một trong hai hàm sau:
stringifynhận được bản ghi toàn bộ luồng người dùngstringifyStepnhận một bước được ghi lại duy nhất
Tham số mediaType cho phép tiện ích chỉ định loại đầu ra mà tiện ích tạo bằng các hàm stringify và stringifyStep. Ví dụ: application/javascript nếu kết quả là một chương trình JavaScript.
Tuỳ chỉnh nút phát lại
Để tuỳ chỉnh nút phát lại trong Máy ghi âm, hãy dùng hàm registerRecorderExtensionPlugin. Trình bổ trợ phải triển khai phương thức replay để chế độ tuỳ chỉnh có hiệu lực.
Nếu phương thức này được phát hiện, nút phát lại sẽ xuất hiện trong Trình ghi.
Khi người dùng nhấp vào nút này, đối tượng bản ghi hiện tại sẽ được truyền dưới dạng đối số đầu tiên cho phương thức replay.
Tại thời điểm này, tiện ích có thể hiển thị một RecorderView để xử lý yêu cầu phát lại hoặc sử dụng các API tiện ích khác để xử lý yêu cầu phát lại. Để tạo một RecorderView mới, hãy gọi chrome.devtools.recorder.createView.
Ví dụ
Xuất trình bổ trợ
Đoạn mã sau đây triển khai một trình bổ trợ tiện ích giúp chuyển đổi một bản ghi thành chuỗi bằng 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'
);
Trình bổ trợ phát lại
Đoạn mã sau đây triển khai một trình bổ trợ tiện ích tạo một khung hiển thị Trình ghi ảo và hiển thị khung hiển thị đó theo yêu cầu phát lại:
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'
);
Bạn có thể tìm thấy ví dụ hoàn chỉnh về tiện ích trên GitHub.
Loại
RecorderExtensionPlugin
Một giao diện trình bổ trợ mà bảng điều khiển Máy ghi âm gọi để tuỳ chỉnh bảng điều khiển Máy ghi âm.
Thuộc tính
-
phát lại
void
Chrome 112 trở lênCho phép tiện ích triển khai chức năng phát lại tuỳ chỉnh.
Hàm
replaycó dạng như sau:(recording: object) => {...}
-
đang ghi
đối tượng
Bản ghi lại lượt tương tác của người dùng với trang. Điều này phải khớp với sơ đồ ghi của Puppeteer.
-
-
stringify
void
Chuyển đổi bản ghi từ định dạng bảng điều khiển Máy ghi âm thành một chuỗi.
Hàm
stringifycó dạng như sau:(recording: object) => {...}
-
đang ghi
đối tượng
Bản ghi lại lượt tương tác của người dùng với trang. Điều này phải khớp với sơ đồ ghi của Puppeteer.
-
-
stringifyStep
void
Chuyển đổi một bước của bản ghi từ định dạng bảng điều khiển Máy ghi âm thành một chuỗi.
Hàm
stringifyStepcó dạng như sau:(step: object) => {...}
-
bị xì hơi
đối tượng
Một bước trong quá trình ghi lại lượt tương tác của người dùng với trang. Nội dung này phải khớp với giản đồ bước của Puppeteer.
-
RecorderView
Biểu thị một khung hiển thị do tiện ích tạo ra để được nhúng vào bảng điều khiển Trình ghi.
Thuộc tính
-
onHidden
Event<functionvoidvoid>
Được kích hoạt khi khung hiển thị bị ẩn.
Hàm
onHidden.addListenercó dạng như sau:(callback: function) => {...}
-
callback
hàm
Tham số
callbackcó dạng như sau:() => void
-
-
onShown
Event<functionvoidvoid>
Được kích hoạt khi khung hiển thị xuất hiện.
Hàm
onShown.addListenercó dạng như sau:(callback: function) => {...}
-
callback
hàm
Tham số
callbackcó dạng như sau:() => void
-
-
hiện (lên)/cho thấy
void
Cho biết rằng tiện ích muốn hiển thị chế độ xem này trong bảng điều khiển Trình ghi.
Hàm
showcó dạng như sau:() => {...}
Phương thức
createView()
chrome.devtools.recorder.createView(
title: string,
pagePath: string,
): RecorderView
Tạo một khung hiển thị có thể xử lý việc phát lại. Khung hiển thị này sẽ được nhúng vào bảng điều khiển Trình ghi.
Thông số
-
tiêu đề
chuỗi
Tiêu đề xuất hiện bên cạnh biểu tượng tiện ích trên thanh công cụ Công cụ cho nhà phát triển.
-
pagePath
chuỗi
Đường dẫn của trang HTML của bảng điều khiển so với thư mục tiện ích.
Giá trị trả về
registerRecorderExtensionPlugin()
chrome.devtools.recorder.registerRecorderExtensionPlugin(
plugin: RecorderExtensionPlugin,
name: string,
mediaType: string,
): void
Đăng ký một trình bổ trợ tiện ích Trình ghi.
Thông số
-
trình bổ trợ
Một thực thể triển khai giao diện RecorderExtensionPlugin.
-
tên
chuỗi
Tên của trình bổ trợ.
-
mediaType
chuỗi
Loại nội dung nghe nhìn của nội dung chuỗi mà trình bổ trợ tạo ra.