在 iFrame 中嵌入 Google Apps 脚本
Embedding Google Apps Script in an iFrame
我正在尝试将使用 Google Apps 脚本中的 Javascript 动态构建的页面嵌入到我的 iFrame 网站中,但未显示 iFrame 的内容。 Google Apps 脚本有一个同源策略,阻止它加载。
我想做的是(我删除了完整的link):
<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 最近刚刚启用了此功能。它已经处于 'feature request' 状态很长时间了。 Link here
您现在可以显式定义 X-Frame-Options。
要允许嵌入到另一个域下,选项应为 HtmlService.XFrameOptionsMode.ALLOWALL
Google 有关该主题的文档:
示例:
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?>">
我正在尝试将使用 Google Apps 脚本中的 Javascript 动态构建的页面嵌入到我的 iFrame 网站中,但未显示 iFrame 的内容。 Google Apps 脚本有一个同源策略,阻止它加载。
我想做的是(我删除了完整的link):
<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 最近刚刚启用了此功能。它已经处于 'feature request' 状态很长时间了。 Link here
您现在可以显式定义 X-Frame-Options。
要允许嵌入到另一个域下,选项应为 HtmlService.XFrameOptionsMode.ALLOWALL
Google 有关该主题的文档:
示例:
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?>">