Enum SandboxMode

SandboxMode

クライアント側の 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>

プロパティ

プロパティ種類説明
EMULATEDEnumECMAScript 3 で利用可能な機能のみを使用して ECMAScript 5 の厳格モードをエミュレートする以前のサンドボックス モード。2014 年 2 月までは、このモードがデフォルトでした。

EMULATED2015 年 12 月 10 日に廃止されました。EMULATED を使用するすべてのスクリプトは、代わりに IFRAME を使用するようになりました。

IFRAMEEnumEMULATED モードと NATIVE モードで使用されている Caja サンドボックス技術の代わりに、iframe サンドボックスを使用するサンドボックス モード。このモードは、2015 年 11 月 12 日時点では新しいスクリプト、2016 年 7 月 6 日時点ではすべてのスクリプトでデフォルトで有効になります。

このモードは、他のサンドボックス モードよりも制限が少なく、高速に実行されますが、Internet Explorer 9 などの一部の古いブラウザではまったく機能しません。

NATIVEEnumECMAScript 5 の厳格モードの上に構築されたサンドボックス モードです。ECMAScript 5 の厳格モードの上に構築されたサンドボックス モードです。このモードは 2016 年 7 月 6 日に廃止されました。すべてのスクリプトで IFRAME モードが使用されるようになりました。