クライアントサイドの 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 | EMULATED モードと NATIVE モードで使用される Caja サンドボックス技術ではなく、iframe サンドボックス化を使用するサンドボックス モード。このモードは、2015 年 11 月 12 日以降の新規スクリプト、および 2016 年 7 月 6 日以降のすべてのスクリプトのデフォルトです。このモードでは、他のサンドボックス モードよりも制限が大幅に少なく、実行速度が最も速くなりますが、Internet Explorer 9 など、特定の古いブラウザではまったく機能しません。 |
NATIVE | Enum | ECMAScript 5 の厳格モード上に構築されたサンドボックス モード。ECMAScript 5 の厳格モード上に構築されたサンドボックス モード。このモードは、2016 年 7 月 6 日に廃止されました。すべてのスクリプトで IFRAME モードが使用されるようになりました。 |