|
@@ -1144,6 +1144,14 @@ const handleHomeworkSubmit = async () => {
|
|
|
}
|
|
|
|
|
|
try {
|
|
|
+ const a = iframeBody.getElementsByTagName('img')
|
|
|
+ const b = iframeBody.getElementsByTagName('video')
|
|
|
+ for (let i = 0;i < a.length;i++) {
|
|
|
+ a[i].crossOrigin = 'anonymous'
|
|
|
+ }
|
|
|
+ for (let i = 0;i < b.length;i++) {
|
|
|
+ b[i].crossOrigin = 'anonymous'
|
|
|
+ }
|
|
|
// 直接对iframe内部的body进行截图
|
|
|
const html2canvas = await import('html2canvas')
|
|
|
const canvas = await html2canvas.default(iframeBody, {
|
|
@@ -1156,6 +1164,7 @@ const handleHomeworkSubmit = async () => {
|
|
|
removeContainer: true
|
|
|
})
|
|
|
imageData = canvas.toDataURL('image/png', 0.95)
|
|
|
+
|
|
|
console.log('成功截图iframe内部内容')
|
|
|
}
|
|
|
catch (html2canvasError) {
|
|
@@ -1244,7 +1253,14 @@ const handleHomeworkSubmit = async () => {
|
|
|
throw new Error('无法创建canvas上下文')
|
|
|
}*/
|
|
|
}
|
|
|
-
|
|
|
+ const _a = iframeBody.getElementsByTagName('img')
|
|
|
+ const _b = iframeBody.getElementsByTagName('video')
|
|
|
+ for (let i = 0; i < _a.length; i++) {
|
|
|
+ _a[i].removeAttribute('crossorigin')
|
|
|
+ }
|
|
|
+ for (let i = 0; i < _b.length; i++) {
|
|
|
+ _b[i].removeAttribute('crossorigin')
|
|
|
+ }
|
|
|
// 将base64字符串转换为File对象
|
|
|
const base64ToFile = (base64String: string, filename: string): File => {
|
|
|
const arr = base64String.split(',')
|