2

是否可以在 iframe 中嵌入 HTMLService 应用程序?

嵌入式示例:http: //jsbin.com/axesex/1/edit

该应用程序可以嵌入到 Google 站点中,但不能嵌入到任何其他标准网页中。控制台抛出错误...

拒绝在框架中显示“ https://script.google.com/a/macros/netpremacy.com/s/AKfycbxITmxBMsHIh_u82tbvfICzNesEUJh2MRe7izyDE9cgvaLPCZI/exec ”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。

如果您需要更多信息,请告诉我。

4

3 回答 3

4

2017 年 3 月 24 日更新

是的,但是您需要在输出上设置一个额外的标志以允许它被 IFRAME:

// Serve HTML with no X-Frame-Options header (in Apps Script server-side code).
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
于 2013-05-30T13:31:58.843 回答
0

看来您可以使用 setxframeoptionsmodemode 做到这一点:

//-- Serve HTML with no X-Frame-Options header (in Apps Script server side code).
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

可以阅读更多相关信息: https ://developers.google.com/apps-script/reference/html/html-output#setxframeoptionsmodemode

于 2017-02-28T04:26:14.277 回答
-2

一个可能的等价物可能是使用 JSONP。基本上修改 Google Apps 脚本以输出 JSON(文本/javascript mime 类型),该 JSON 作为参数传递给函数(您将在客户端创建。应用程序脚本的输出将如下所示:

client_side_handler(JSON HERE...);

在您的客户页面中,您将拥有一个类似以下内容的脚本:

function client_side_handler(json){
    //make all my wildest dreams come true here.
}

要调用应用程序脚本,您将有另一个脚本标记,将应用程序脚本指定为 src。值得庆幸的是,脚本标签没有 iframe 的跨站点限制。

于 2015-04-13T15:31:09.970 回答