Sharepoint 2013 标题栏隐藏时SharePoint 2013应用程序通过postMessage错误调整大小

Sharepoint 2013 标题栏隐藏时SharePoint 2013应用程序通过postMessage错误调整大小,sharepoint-2013,Sharepoint 2013,我在请求对Web部件属性>外观>Chrome类型设置为“无”的应用程序部件调整大小时遇到了iframe postMessage通信的错误 主机端的postMessage处理程序中存在JavaScript错误,该错误依赖于存在的web部件标题: TypeError: document.getElementById(...) is null document.getElementById(webPartDivId + '_ChromeTitle').style.cssText = widthCssT

我在请求对Web部件属性>外观>Chrome类型设置为“无”的应用程序部件调整大小时遇到了iframe postMessage通信的错误

主机端的postMessage处理程序中存在JavaScript错误,该错误依赖于存在的web部件标题:

TypeError: document.getElementById(...) is null
document.getElementById(webPartDivId + '_ChromeTitle').style.cssText = widthCssText;
我在这里发现了这一点,但没有提供解决方案:

我已经尝试覆盖添加到应用程序部件的SPAppIFramePostMsgHandler,但我认为范围不允许这样做。或者至少我不知道为什么,但它还不起作用

有人知道这方面的解决办法吗


谢谢

我会在网站上注册脚本操作 使用修改后的SPAppIFramePostMsgHandler函数,在本例中,我将其称为mod_SPAppIFramePostMsgHandler 再加上这个

setTimeout(function(){
  if(typeof SPAppIFramePostMsgHandler == "undefined")
    return;
  if (typeof window.addEventListener != 'undefined') {
    window.removeEventListener('message',SPAppIFramePostMsgHandler);
    window.addEventListener('message', mod_SPAppIFramePostMsgHandler, false);
  }
  else if (typeof window.attachEvent != 'undefined') {
    window.detachEvent('onmessage', SPAppIFramePostMsgHandler);
    window.attachEvent('onmessage', mod_SPAppIFramePostMsgHandler);
  }
}, 200);

尚未尝试,但如果有帮助,请关闭。

事实证明,此错误已在3月12日的SharePoint Server更新中解决:


你能发布方法的内容吗:mod_SPAppIFramePostMsgHandler