腾讯云互动白板常见问题-教育服务解决方案
H5 课件有 iframe 的嵌套
1. 同步页面的 name 信息将第一层的页面的 name 属性同步到 iframe 中
var iframeEl = document.querySelector('#test');iframeEl.contentWindow.name = window.name;
2. 信令中转
window.addEventListener('message', function (event) { if (!event.data) { return; } var module = event.data.module; var cmd = event.data.cmd; var data = event.data.data; if (module === 'TIW_H5WEB') { // 如果信令来自 iframe 页面,则将信令往白板传递 if (event.origin === iframeEl.contentWindow.location.origin) { window.parent.postMessage(event.data, '*'); } else { // 其他信令则往 iframe 传递 iframeEl.contentWindow.postMessage(event.data, '*'); } }});
完整代码
Document * { margin :0; padding: 0; } html, body { width: 100%; height: 100%; } iframe { width: 100%; height: 100%; }
var iframeEl = document.querySelector('#test'); iframeEl.contentWindow.name = window.name;
window.addEventListener('message', function (event) { if (!event.data) { return; } var module = event.data.module; var cmd = event.data.cmd; var data = event.data.data; if (module === 'TIW_H5WEB') { // 如果信令来至 iframe 页面,则将信令往白板传递 if (event.origin === iframeEl.contentWindow.location.origin) { window.parent.postMessage(event.data, '*'); } else { // 其他信令则往 iframe 传递 iframeEl.contentWindow.postMessage(event.data, '*'); } } });
腾讯云官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
发表评论