Enum SandboxMode

SandboxMode

表示可用于客户端 HtmlService 的沙盒模式的枚举 脚本。这些值可以从 HtmlService.SandboxMode 访问,并通过调用 HtmlOutput.setSandboxMode(mode)

如需调用枚举,您需要调用其父类、名称和属性。例如 HtmlService.SandboxMode.IFRAME

NATIVEEMULATED 模式已于 2015 年 10 月 13 日废弃,现已弃用。仅限 现在支持 IFRAME 模式。

为了保护用户免受恶意 HTML 或 JavaScript 的危害, HTML 服务在对代码施加限制的安全沙盒中执行。方法 HtmlOutput.setSandboxMode(mode) 之前已允许脚本作者选择 但现在不起作用。有关详情,请参阅 HTML 服务限制指南

与其他沙盒模式相比,IFRAME 模式施加的限制要少得多,并运行 ,但在某些旧版浏览器(包括 Internet Explorer 9)中则完全无法运行。通过 也可以通过检查 google.script.sandbox.mode 在客户端脚本中读取沙盒模式。请注意,此属性会返回客户端上的实际模式,该模式 如果请求的模式在 用户的浏览器。

<!-- Read the sandbox mode (in a client-side script). -->
<script>
  alert(google.script.sandbox.mode);
</script>

属性

属性类型说明
EMULATEDEnum一种旧沙盒模式,可仅使用可用功能模拟 ECMAScript 5 严格模式 。此模式是 2014 年 2 月之前的默认模式。

EMULATED已于 12 月 10 日停用, 2015 年。所有尝试使用 EMULATED 的脚本现在将改为使用 IFRAME

IFRAMEEnum一种沙盒模式,该模式使用 iframe 沙盒,而不是 EMULATEDNATIVE 模式。自 起,此模式已成为新脚本的默认模式 2015 年 11 月 12 日和自 2016 年 7 月 6 日起的所有脚本。

与其他沙盒模式相比,这种模式施加的限制要少很多,运行速度也最快,不过 在某些旧版浏览器(包括 Internet Explorer 9)中完全无法运行。

NATIVEEnum基于 ECMAScript 5 严格模式构建的沙盒模式。基于以下 API 构建的沙盒模式: ECMAScript 5 严格模式。此模式已停用,因为 更新。现在,所有脚本都使用 IFRAME 模式。