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>
プロパティ
プロパティ | タイプ | 説明 |
EMULATED | Enum | ECMAScript 3 で利用可能な機能のみを使用して ECMAScript 5 の厳格モードをエミュレートする、以前のサンドボックス モード。このモードは 2014 年 2 月より前のデフォルトでした。
EMULATED は 2015 年 12 月 10 日をもって提供を終了しました。EMULATED を使用しようとするすべてのスクリプトは、代わりに IFRAME を使用するようになります。
|
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 モードが使用されるようになりました。 |
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-04 UTC。
[null,null,["最終更新日 2025-08-04 UTC。"],[[["\u003cp\u003eSandboxMode is used for setting the sandbox environment for client-side HtmlService scripts in Google Apps Script.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIFRAME\u003c/code\u003e is the only supported SandboxMode; \u003ccode\u003eNATIVE\u003c/code\u003e and \u003ccode\u003eEMULATED\u003c/code\u003e are deprecated and sunset.\u003c/p\u003e\n"],["\u003cp\u003eClient-side code in HTML service runs in a security sandbox with restrictions to protect users.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIFRAME\u003c/code\u003e mode has fewer restrictions and runs faster but might not work in older browsers like Internet Explorer 9.\u003c/p\u003e\n"],["\u003cp\u003eYou can read the actual sandbox mode on the client-side using \u003ccode\u003egoogle.script.sandbox.mode\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Enum SandboxMode\n\nSandboxMode\n\nAn enum representing the sandbox modes that can be used for client-side [HtmlService](/apps-script/reference/html/html-service)\nscripts. These values can be accessed from [HtmlService.SandboxMode](/apps-script/reference/html/html-service#SandboxMode), and set by calling\n[HtmlOutput.setSandboxMode(mode)](/apps-script/reference/html/html-output#setSandboxMode(SandboxMode)).\n\nTo call an enum, you call its parent class, name, and property. For example, `\nHtmlService.SandboxMode.IFRAME`.\n\nThe `NATIVE` and `EMULATED` modes were [deprecated on October 13, 2015](https://workspace.google.com/blog/product-announcements/google-apps-script-update-htmlservice) and both are now sunset. Only `IFRAME` mode is now\nsupported.\n\nTo protect users from being served malicious HTML or JavaScript, client-side code served from\nHTML service executes in a security sandbox that imposes restrictions on the code. The method\n[HtmlOutput.setSandboxMode(mode)](/apps-script/reference/html/html-output#setSandboxMode(SandboxMode)) previously allowed script authors to choose\nbetween different versions of the sandbox, but now has no effect. For more information, see the\n[guide to restrictions in HTML service](/apps-script/guides/html/restrictions).\n\nThe `IFRAME` mode imposes many fewer restrictions than the other sandbox modes and runs\nfastest, but does not work at all in certain older browsers, including Internet Explorer 9. The\nsandbox mode can also be read in a client-side script by inspecting `google.script.sandbox.mode`. Note that this property returns the actual mode on the client, which\nmay differ from the mode requested on the server if the requested mode is not supported in the\nuser's browser.\n\n```html\n\u003c!-- Read the sandbox mode (in a client-side script). --\u003e\n\u003cscript\u003e\n alert(google.script.sandbox.mode);\n\u003c/script\u003e\n``` \n\n### Properties\n\n| Property | Type | Description |\n|------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `EMULATED` | `Enum` | A legacy sandbox mode that emulates ECMAScript 5 strict mode using only the features available in ECMAScript 3. This mode was the default prior to February 2014. `EMULATED` was [sunset as of December 10, 2015](/apps-script/guides/support/sunset). All scripts attempting use `EMULATED` will now use `IFRAME` instead. |\n| `IFRAME` | `Enum` | A sandbox mode that uses iframe sandboxing instead of the Caja sandbox technology used by the `EMULATED` and `NATIVE` modes. This mode is the default for new scripts as of November 12, 2015 and for all scripts as of July 6, 2016. This mode imposes many fewer restrictions than the other sandbox modes and runs fastest, but does not work at all in certain older browsers, including Internet Explorer 9. |\n| `NATIVE` | `Enum` | A sandbox mode that is built on top of ECMAScript 5 strict mode. A sandbox mode built on top of ECMAScript 5 strict mode. This mode was [sunset as of July 6, 2016](/apps-script/guides/support/sunset). All scripts now use `IFRAME` mode. |"]]