javascript - 在 iFrame 中嵌入 Google Apps 脚本

标签 javascript google-apps-script iframe web-applications same-origin-policy

我正在尝试将使用 Google Apps 脚本中的 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 中?

最佳答案

Google 最近刚刚启用了此功能。很长一段时间以来,它一直处于“功能请求”状态。 Link here

您现在可以显式定义 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);
}

希望这对您有所帮助!

关于javascript - 在 iFrame 中嵌入 Google Apps 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40842627/

相关文章:

google-apps-script - Google Apps 脚本可以用于随机化 Google 表单上的页面顺序吗?

javascript - 使用 Apps 脚本在 Google 表格中用新数据替换重复行

javascript - 我无法通过谷歌脚本发送带有 pdf 作为附件的电子邮件

javascript - iFrame 高度不适用于所有浏览器

javascript - 如何正确地将 retina.js 排入 WordPress 子主题functions.php 中?

javascript - 单击覆盖元素会触发单击底层元素

javascript - 如何使用 javascript 和 jquery 创建 JSON 数据

javascript - 在 jQuery 过滤器箭头函数中使用它

javascript - 如何从 iframe 调用主窗口中的 javascript?

html - 带有 iframe 的嵌入式网站中的 iOS 滚动问题