列舉,代表可用於用戶端 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 模式。 |