|
@@ -1116,6 +1116,10 @@ const handleHomeworkSubmit = async () => {
|
|
|
throw new Error('未能获取到iframe的body元素,无法截图')
|
|
|
}
|
|
|
try {
|
|
|
+ const a = iframe.getElementsByTagName('img')
|
|
|
+ for (let i = 0;i < a.length;i++) {
|
|
|
+ a[i].crossOrigin = 'anonymous'
|
|
|
+ }
|
|
|
// 首先尝试使用html2canvas
|
|
|
const html2canvas = await import('html2canvas')
|
|
|
const canvas = await html2canvas.default(iframe, {
|
|
@@ -1129,6 +1133,10 @@ const handleHomeworkSubmit = async () => {
|
|
|
removeContainer: true
|
|
|
})
|
|
|
imageData = canvas.toDataURL('image/png', 0.95)
|
|
|
+ const _a = iframe.getElementsByTagName('img')
|
|
|
+ for (let i = 0; i < _a.length; i++) {
|
|
|
+ _a[i].removeAttribute('crossorigin')
|
|
|
+ }
|
|
|
console.log('使用html2canvas截图成功')
|
|
|
}
|
|
|
catch (html2canvasError) {
|
|
@@ -1282,15 +1290,29 @@ const getRefreshButtonRight = () => {
|
|
|
const handleKeydown = (e: KeyboardEvent) => {
|
|
|
switch (e.key) {
|
|
|
case 'ArrowLeft':
|
|
|
+ e.preventDefault()
|
|
|
+ if (!isFollowModeActive.value || props.type == '1') {
|
|
|
+ previousSlide()
|
|
|
+ }
|
|
|
+ break
|
|
|
case 'PageUp':
|
|
|
e.preventDefault()
|
|
|
- previousSlide()
|
|
|
+ if (!isFollowModeActive.value || props.type == '1') {
|
|
|
+ previousSlide()
|
|
|
+ }
|
|
|
break
|
|
|
case 'ArrowRight':
|
|
|
+ e.preventDefault()
|
|
|
+ if (!isFollowModeActive.value || props.type == '1') {
|
|
|
+ nextSlide()
|
|
|
+ }
|
|
|
+ break
|
|
|
case 'PageDown':
|
|
|
case ' ':
|
|
|
e.preventDefault()
|
|
|
- nextSlide()
|
|
|
+ if (!isFollowModeActive.value || props.type == '1') {
|
|
|
+ nextSlide()
|
|
|
+ }
|
|
|
break
|
|
|
case 'F11':
|
|
|
e.preventDefault()
|
|
@@ -1376,37 +1398,37 @@ const getCourseDetail = async () => {
|
|
|
}
|
|
|
finally {
|
|
|
isLoading.value = false
|
|
|
- if (props.type == '2') {
|
|
|
- console.log('判断是否是学生进入全屏')
|
|
|
- function panFull() {
|
|
|
- console.log('判断是否是学生进入全屏111')
|
|
|
- if (!document.fullscreenElement) {
|
|
|
- setTimeout(() => {
|
|
|
- if (!document.fullscreenElement) {
|
|
|
- if (document.documentElement.requestFullscreen) {
|
|
|
- document.documentElement.requestFullscreen()
|
|
|
- }
|
|
|
- else if (document.documentElement.mozRequestFullScreen) { // Firefox
|
|
|
- document.documentElement.mozRequestFullScreen()
|
|
|
- }
|
|
|
- else if (document.documentElement.webkitRequestFullscreen) { // Chrome, Safari and Opera
|
|
|
- document.documentElement.webkitRequestFullscreen()
|
|
|
- }
|
|
|
- else if (document.documentElement.msRequestFullscreen) { // IE/Edge
|
|
|
- document.documentElement.msRequestFullscreen()
|
|
|
- }
|
|
|
- panFull()
|
|
|
- }
|
|
|
- }, 50)
|
|
|
- }
|
|
|
- }
|
|
|
- nextTick(() => {
|
|
|
- setTimeout(() => {
|
|
|
- // enterFullscreen();
|
|
|
- panFull()
|
|
|
- }, 50)
|
|
|
- })
|
|
|
- }
|
|
|
+ // if (props.type == '2') {
|
|
|
+ // console.log('判断是否是学生进入全屏')
|
|
|
+ // function panFull() {
|
|
|
+ // console.log('判断是否是学生进入全屏111')
|
|
|
+ // if (!document.fullscreenElement) {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // if (!document.fullscreenElement) {
|
|
|
+ // if (document.documentElement.requestFullscreen) {
|
|
|
+ // document.documentElement.requestFullscreen()
|
|
|
+ // }
|
|
|
+ // else if (document.documentElement.mozRequestFullScreen) { // Firefox
|
|
|
+ // document.documentElement.mozRequestFullScreen()
|
|
|
+ // }
|
|
|
+ // else if (document.documentElement.webkitRequestFullscreen) { // Chrome, Safari and Opera
|
|
|
+ // document.documentElement.webkitRequestFullscreen()
|
|
|
+ // }
|
|
|
+ // else if (document.documentElement.msRequestFullscreen) { // IE/Edge
|
|
|
+ // document.documentElement.msRequestFullscreen()
|
|
|
+ // }
|
|
|
+ // panFull()
|
|
|
+ // }
|
|
|
+ // }, 50)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // nextTick(() => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // // enterFullscreen();
|
|
|
+ // panFull()
|
|
|
+ // }, 50)
|
|
|
+ // })
|
|
|
+ // }
|
|
|
}
|
|
|
}
|
|
|
|