一个枚举,表示可用于客户端 Html
脚本的沙盒模式。您可以通过 Html
访问这些值,并通过调用 Html
进行设置。
如需调用枚举,您可以调用其父类、名称和属性。例如
HtmlService.SandboxMode.IFRAME
。
NATIVE
和 EMULATED
模式已于 2015 年 10 月 13 日弃用,现已停用。目前仅支持 IFRAME
模式。
为了防止向用户提供恶意 HTML 或 JavaScript,从 HTML 服务提供的客户端代码会在对代码施加限制的安全沙盒中执行。方法 Html
之前允许脚本作者在不同版本的沙盒之间进行选择,但现在没有任何作用。如需了解详情,请参阅 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>
属性
属性 | 类型 | 说明 |
---|---|---|
EMULATED | Enum | 一种旧版沙盒模式,仅使用 ECMAScript 3 中提供的功能来模拟 ECMAScript 5 严格模式。在 2014 年 2 月之前,此模式是默认模式。
|
IFRAME | Enum | 一种沙盒模式,使用 iframe 沙盒化(而非 EMULATED 和 NATIVE 模式使用的 Caja 沙盒技术)。自 2015 年 11 月 12 日起,此模式是新脚本的默认模式;自 2016 年 7 月 6 日起,此模式是所有脚本的默认模式。
与其他沙盒模式相比,此模式的限制更少,运行速度也更快,但在某些旧版浏览器(包括 Internet Explorer 9)中完全不起作用。 |
NATIVE | Enum | 一种沙盒模式,基于 ECMAScript 5 严格模式构建而成。在 ECMAScript 5 严格模式的基础上构建的沙盒模式。自 2016 年 7 月 6 日起,此模式已被弃用。现在,所有脚本都使用 IFRAME 模式。 |