我正在尝试将使用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中的内容?
答案 0 :(得分:13)
Google刚刚启用了此功能。它已经在很长一段时间内处于“功能请求”状态。 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);
}
希望这有帮助!
答案 1 :(得分:2)
我在doPost响应表单上遇到此问题,仅在开发模式下,并通过在初始的doGet表单上将target =“_ self”更改为target =“_ top”来更正此问题。
CONSTRAINT [constraint1]
PRIMARY KEY CLUSTERED ([id] ASC, [other_id] ASC) WITH (IGNORE_DUP_KEY = ON)