繁体   English   中英

在 iFrame 中嵌入 Google Apps 脚本

[英]Embedding Google Apps Script in an iFrame

我正在尝试将使用 Google Apps Script 中的 Javascript 动态构建的页面嵌入到 iFrame 中的我的网站中,但未显示 iFrame 的内容。 Google Apps 脚本具有阻止加载的同源策略。

我想做的是(我删除了完整链接):

<iframe src="https://script.google.com/a/macros/SCRIPT_ID"></iframe>

我得到的错误是:

Refused to display 'https://script.google.com/a/macros/SCRIPT_ID' 
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

有没有办法更改策略并将内容加载到 iFrame 中?

谷歌最近刚刚启用了这个功能。 很长一段时间以来,它一直处于“功能请求”状态。 链接在这里

您现在可以明确定义 X-Frame-Options。

要允许在另一个域下嵌入,该选项应为 HtmlService.XFrameOptionsMode.ALLOWALL

有关该主题的 Google 文档:

https://developers.google.com/apps-script/reference/html/html-output#setXFrameOptionsMode(XFrameOptionsMode)

示例:

function doGet() {
    return HtmlService.createTemplateFromFile('form.html')
        .evaluate() // evaluate MUST come before setting the Sandbox mode
        .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}

希望这有帮助!

我在 doPost 响应表单上遇到了这个问题,仅在开发模式下,并通过在初始 doGet 表单上将 target="_self" 更改为 target="_top" 来纠正它。

 <form method="POST" id="ss-form" target="_top" action="<?!=SETTINGS.PUBLISHED_URL?>">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM