Enum SandboxMode
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Chế độ hộp cát
Một enum đại diện cho các chế độ hộp cát có thể dùng cho tập lệnh HtmlService
phía máy khách. Bạn có thể truy cập vào các giá trị này từ HtmlService.SandboxMode
và đặt bằng cách gọi HtmlOutput.setSandboxMode(mode)
.
Để gọi một enum, bạn gọi lớp mẹ, tên và thuộc tính của enum đó. Ví dụ:
HtmlService.SandboxMode.IFRAME
.
Các chế độ NATIVE
và EMULATED
không được dùng nữa kể từ ngày 13 tháng 10 năm 2015 và cả hai chế độ này hiện không còn được hỗ trợ. Hiện tại, chỉ hỗ trợ chế độ IFRAME
.
Để 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.
EMULATED đã ngừng hoạt động kể từ ngày 10 tháng 12 năm 2015. Giờ đây, tất cả tập lệnh cố gắng sử dụng EMULATED sẽ sử dụng IFRAME .
|
IFRAME | Enum | 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 . |
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-08-04 UTC.
[null,null,["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,["# 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. |"]]