12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /* 移动端预览的时候 监听按键事件 传给学生端控制操作按钮 */
- import { onMounted, onUnmounted } from "vue"
- export const changeToggeMes = () => {
- function handleMessage(event: any) {
- // 当这个页面不是 iframe包裹的时候 会循环触发headerTogge 因为window.parent === window 相等 所以排除掉这个
- if (window.parent === window) {
- return
- }
- const { api, playState } = event.data || {}
- if (api === "headerTogge") {
- window.parent.postMessage(
- {
- api: "headerTogge",
- playState: playState
- },
- "*"
- )
- } else if (api === "changeTogge") {
- // 云教练切换
- window.parent.postMessage(
- {
- api: "changeTogge"
- },
- "*"
- )
- } else if (["clickTempo", "clickViewFigner"].includes(api)) {
- // 节奏练习 听音练习 切换
- window.parent.postMessage(
- {
- api
- },
- "*"
- )
- }
- }
- onMounted(() => {
- window.addEventListener("message", handleMessage)
- })
- onUnmounted(() => {
- window.removeEventListener("message", handleMessage)
- })
- }
|