禁用第三方 cookie 时使用 Window.open 不会返回 postMessage 的值

发布时间:2021-03-05 08:31

在我们的 Google 工作区附加组件中,我们按照 https://tanaikech.github.io/2018/02/20/open-site-with-new-window-using-google-apps-script/ 的示例在禁用第三方 Cookie 的情况下在新标签页而不是 iframe 中打开第三方网址。

这是我们的实现,

function openNewTab() {
var url = ‘third party URL’;
 var js = " \
    <script> \
      var windowRef = window.open('" + url +"'); \
      console.log(windowRef ); \
      window.addEventListener('message', handleMessage, false); \
      function handleMessage(e) { \
      console.log(e); \
      windowRef.top.window.close(); \
      }\
      console.log('Window ref'); \
    </script> \
     var html = HtmlService.createHtmlOutput(js)
    .setHeight(10)
    .setWidth(100);
  DocumentApp.getUi().showModalDialog(html, 'Now loading.');
}

我们试图实现的是第三方 URL 通过 postMessage 事件进行通信,我们无法捕获它。上面的实现中我们是否遗漏了什么

回答1