|
@@ -1101,18 +1101,19 @@ const handleHomeworkSubmit = async () => {
|
|
|
// 尝试使用html2canvas,对iframe支持更好
|
|
|
let imageData: string
|
|
|
const screenSlides = document.querySelectorAll('.viewer-canvas .screen-slide')
|
|
|
- let iframeElement: HTMLIFrameElement | null = null
|
|
|
-
|
|
|
- // 直接获取iframe元素本身
|
|
|
+ let iframeElement: HTMLElement | null = null
|
|
|
if (
|
|
|
screenSlides &&
|
|
|
screenSlides[slideIndex.value] &&
|
|
|
- screenSlides[slideIndex.value].querySelector('iframe')
|
|
|
+ screenSlides[slideIndex.value].querySelector('iframe') &&
|
|
|
+ (screenSlides[slideIndex.value].querySelector('iframe') as HTMLIFrameElement).contentWindow &&
|
|
|
+ (screenSlides[slideIndex.value].querySelector('iframe') as HTMLIFrameElement).contentWindow!.document &&
|
|
|
+ (screenSlides[slideIndex.value].querySelector('iframe') as HTMLIFrameElement).contentWindow!.document.body
|
|
|
) {
|
|
|
- iframeElement = screenSlides[slideIndex.value].querySelector('iframe') as HTMLIFrameElement
|
|
|
+ iframeElement = (screenSlides[slideIndex.value].querySelector('iframe') as HTMLIFrameElement).contentWindow!.document.body as HTMLElement
|
|
|
}
|
|
|
else {
|
|
|
- throw new Error('未能获取到iframe元素,无法截图')
|
|
|
+ throw new Error('未能获取到iframe的body元素,无法截图')
|
|
|
}
|
|
|
|
|
|
try {
|