使用“IFRAME”的沙箱模式时,无法获取在 Google Apps 脚本中工作的链接

2024-03-12

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

下面的代码摘自这个帖子 https://stackoverflow.com/questions/15668119/linking-to-another-html-page-in-google-apps-script/16697525#16697525%20related%20post

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>

target="_blank"在锚标记内?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用“IFRAME”的沙箱模式时,无法获取在 Google Apps 脚本中工作的链接 的相关文章

随机推荐