Enum 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 月より前のデフォルトでした。

EMULATED12 月 10 日をもってサポートを終了しました。

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 モードが使用されるようになりました。