腾讯云互动白板常见问题-教育服务解决方案

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折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

发表评论