Một giá trị 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 phải gọi lớp, tên và thuộc tính gốc của lớp đó. Ví dụ:
HtmlService.SandboxMode.IFRAME
.
Chế độ NATIVE
và EMULATED
đã không còn được sử dụng từ ngày 13 tháng 10 năm 2015 và cả hai hiện đều ngừng hoạt động. Hiện chỉ hỗ trợ chế độ IFRAME
.
Để bảo vệ người dùng không bị HTML hoặc JavaScript độc hại phân phát, 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 dụng các quy định 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 hộp cát khác nhau, nhưng hiện không có hiệu lực. Để 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 hạn chế hơn 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ũ hơn, 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. Chế độ này 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
Tài sản | Loại | Nội dung mô tả |
---|---|---|
EMULATED | Enum | Một chế độ hộp cát cũ mô phỏng chế độ nghiêm ngặt của ECMAScript 5 chỉ bằng các tính năng có trong ECMAScript 3. Đây là chế độ mặc định trước tháng 2 năm 2014.
|
IFRAME | Enum | Chế độ hộp cát sử dụ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. Kể từ ngày 12 tháng 11 năm 2015, chế độ này là chế độ mặc định cho các tập lệnh mới 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 í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ũ hơn, bao gồm cả Internet Explorer 9. |
NATIVE | Enum | Chế độ hộp cát được xây dựng dựa trên chế độ nghiêm ngặt của ECMAScript 5. 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 sử dụng chế độ IFRAME . |