Để bảo vệ người dùng khỏi việc bị phân phát HTML hoặc JavaScript độc hại, mã phía máy khách được phân phát từ dịch vụ HTML sẽ thực thi trong một hộp cát bảo mật áp đặt các hạn chế đối với mã. Phương thức HtmlOutput.setSandboxMode(mode) trước đây cho phép tác giả tập lệnh chọn giữa các phiên bản khác nhau của hộp cát, nhưng hiện không có tác dụng. Để biết thêm thông tin, hãy xem hướng dẫn về các hạn chế trong dịch vụ HTML.
Chế độ IFRAME áp dụng ít quy định hạn chế hơn nhiều so với các chế độ hộp cát khác và chạy nhanh nhất, nhưng hoàn toàn không hoạt động trong một số trình duyệt cũ, bao gồm cả Internet Explorer 9. Bạn cũng có thể đọc chế độ hộp cát trong tập lệnh phía máy khách bằng cách kiểm tra google.script.sandbox.mode. Xin lưu ý rằng thuộc tính này trả về chế độ thực tế trên ứng dụng, có thể khác với chế độ được yêu cầu trên máy chủ nếu chế độ được yêu cầu không được hỗ trợ trong trình duyệt của người dùng.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Thuộc tính
Thuộc tính
Loại
Mô tả
EMULATED
Enum
Một chế độ hộp cát cũ mô phỏng chế độ nghiêm ngặt ECMAScript 5 chỉ bằng cách sử dụng các tính năng có trong ECMAScript 3. Chế độ này là chế độ mặc định trước tháng 2 năm 2014.
Một chế độ hộp cát sử dụng tính năng hộp cát iframe thay vì công nghệ hộp cát Caja mà các chế độ EMULATED và NATIVE sử dụng. Chế độ này là chế độ mặc định cho các tập lệnh mới kể từ ngày 12 tháng 11 năm 2015 và cho tất cả các tập lệnh kể từ ngày 6 tháng 7 năm 2016.
Chế độ này áp đặt ít hạn chế hơn nhiều so với các chế độ hộp cát khác và chạy nhanh nhất, nhưng hoàn toàn không hoạt động trong một số trình duyệt cũ, bao gồm cả Internet Explorer 9.
NATIVE
Enum
Một chế độ hộp cát được xây dựng dựa trên chế độ nghiêm ngặt ECMAScript 5. Một chế độ hộp cát được xây dựng dựa trên chế độ nghiêm ngặt ECMAScript 5. Chế độ này đã ngừng hoạt động kể từ ngày 6 tháng 7 năm 2016. Tất cả tập lệnh hiện đều sử dụng chế độ IFRAME.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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,["SandboxMode\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\nProperties\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. |"]]