使用" IFRAME"的沙盒模式时,无法在Google Apps脚本中使用链接。

时间:2015-02-07 14:39:33

标签: google-apps-script

在Google Apps脚本中,以下代码适用于默认沙盒模式,但是当我将沙箱模式更改为IFRAME时,代码无效。在IE11中,单击第一个按钮后出现空白页面。在Chrome中,第一个按钮有效,但点击后续按钮会显示空白页。

以下代码取自this post

Code.gs

/**
 * Get the URL for the Google Apps Script running as a WebApp.
 */
function getScriptUrl() {
 var url = ScriptApp.getService().getUrl();
 return url;
}

/**
 * Get "home page", or a requested page.
 * Expects a 'page' parameter in querystring.
 *
 * @param {event} e Event passed to doGet, with querystring
 * @returns {String/html} Html to be served
 */
function doGet(e) {
  Logger.log( Utilities.jsonStringify(e) );
  if (!e.parameter.page) {
    // When no specific page requested, return "home page"
    return HtmlService.createTemplateFromFile('my1').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
  }
  // else, use page parameter to pick an html file from the script
  return HtmlService.createTemplateFromFile(e.parameter['page']).evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

my1.html

<html>
  <body>
    <h1>Source = my1.html</h1>
    <?var url = getScriptUrl();?><a href='<?=url?>?page=my2'> <input type='button' name='button' value='my2.html'></a>
  </body>
</html>

my2.html

<html>
  <body>
    <h1>Source = my2.html</h1>
    <?var url = getScriptUrl();?><a href='<?=url?>?page=my1'> <input type='button' name='button' value='my1.html'></a>
  </body>
</html>

2 个答案:

答案 0 :(得分:0)

锚标记内的

target="_blank"

答案 1 :(得分:0)

Apps脚本现在仅支持IFRAME模式。 NATIVE支持消失了。见here