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