Enum 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 3 中提供的功能,模擬 ECMAScript 5 嚴格模式。2014 年 2 月前,這是預設模式。

EMULATED已於 2015 年 12 月 10 日終止服務。所有嘗試使用 EMULATED 的指令碼現在都會改用 IFRAME

IFRAMEEnum沙箱模式,使用 iframe 沙箱,而非 EMULATEDNATIVE 模式使用的 Caja 沙箱技術。自 2015 年 11 月 12 日起,新指令碼預設會採用這個模式;自 2016 年 7 月 6 日起,所有指令碼都會採用這個模式。

這個模式的限制比其他沙箱模式少很多,執行速度也最快,但完全不支援某些舊版瀏覽器,包括 Internet Explorer 9。

NATIVEEnum以 ECMAScript 5 嚴格模式為基礎的沙箱模式。以 ECMAScript 5 嚴格模式為基礎建構的沙箱模式。這項模式已於 2016 年 7 月 6 日停用。所有指令碼現在都使用 IFRAME 模式。