列舉代表用戶端 HtmlService
可使用的沙箱模式
指令碼這些值可以從 HtmlService.SandboxMode
存取,並藉由呼叫
HtmlOutput.setSandboxMode(mode)
。
如要呼叫列舉,您可以呼叫其父項類別、名稱和屬性。例如
HtmlService.SandboxMode.IFRAME
。
NATIVE
和 EMULATED
模式已於 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>
屬性
屬性 | 類型 | 說明 |
---|---|---|
EMULATED | Enum | 舊版沙箱模式,模擬 ECMAScript 5 嚴格模式,只使用可用的功能
。這是 2014 年 2 月前的預設模式。
|
IFRAME | Enum | 採用 iframe 沙箱機制的沙箱模式,而非
EMULATED 和 NATIVE 模式。在此期間,新指令碼會預設使用這個模式:
2015 年 11 月 12 日,所有指令碼截至 2016 年 7 月 6 日為止。
與其他沙箱模式相比,這個模式施加的限制較少,而且執行速度最快, 無法在某些舊版瀏覽器上運作,包括 Internet Explorer 9。 |
NATIVE | Enum | 以 ECMAScript 5 嚴格模式為基礎的沙箱模式。沙箱模式,
ECMAScript 5 嚴格模式。此模式被停用為
2016 年 7 月 6 日。所有指令碼現在都使用 IFRAME 模式。 |