Enum SandboxMode

โหมดแซนด์บ็อกซ์

อาร์เรย์แบบจำกัดที่แสดงถึงโหมดแซนด์บ็อกซ์ที่ใช้กับHtmlServiceสคริปต์ฝั่งไคลเอ็นต์ได้ ค่าเหล่านี้เข้าถึงได้จาก HtmlService.SandboxMode และตั้งค่าได้โดยเรียกใช้ HtmlOutput.setSandboxMode(mode)

หากต้องการเรียกใช้ enum ให้เรียกคลาสหลัก ชื่อ และพร็อพเพอร์ตี้ของ enum นั้น เช่น HtmlService.SandboxMode.IFRAME

เราเลิกใช้งานโหมด NATIVE และ EMULATED ไปเมื่อวันที่ 13 ตุลาคม 2015 และตอนนี้ทั้ง 2 โหมดก็หยุดให้บริการแล้ว ตอนนี้ระบบรองรับเฉพาะโหมด IFRAME เท่านั้น

โค้ดฝั่งไคลเอ็นต์ที่แสดงจากบริการ HTML จะทำงานในแซนด์บ็อกซ์ความปลอดภัยซึ่งจำกัดโค้ดเพื่อปกป้องผู้ใช้จากการแสดง HTML หรือ JavaScript ที่เป็นอันตราย ก่อนหน้านี้ 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>

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ประเภทคำอธิบาย
EMULATEDEnumโหมดแซนด์บ็อกซ์เดิมที่จำลองโหมดเข้มงวดของ ECMAScript 5 โดยใช้เฉพาะฟีเจอร์ที่มีใน ECMAScript 3 โหมดนี้เป็นค่าเริ่มต้นก่อนเดือนกุมภาพันธ์ 2014

EMULATED หยุดให้บริการแล้วตั้งแต่วันที่ 10 ธันวาคม 2015 ตอนนี้สคริปต์ทั้งหมดที่พยายามใช้ EMULATED จะใช้ IFRAME แทน

IFRAMEEnumโหมดแซนด์บ็อกซ์ที่ใช้แซนด์บ็อกซ์ iframe แทนเทคโนโลยีแซนด์บ็อกซ์ Caja ที่โหมด EMULATED และ NATIVE ใช้ โหมดนี้เป็นค่าเริ่มต้นสำหรับสคริปต์ใหม่ตั้งแต่วันที่ 12 พฤศจิกายน 2015 และสำหรับสคริปต์ทั้งหมดตั้งแต่วันที่ 6 กรกฎาคม 2016

โหมดนี้มีข้อจำกัดน้อยกว่าโหมดแซนด์บ็อกซ์อื่นๆ มากและทำงานได้เร็วที่สุด แต่จะใช้ไม่ได้เลยในบางเบราว์เซอร์รุ่นเก่า ซึ่งรวมถึง Internet Explorer 9

NATIVEEnumโหมด Sandbox ที่สร้างขึ้นจากโหมดเข้มงวดของ ECMAScript 5 โหมด Sandbox ที่สร้างขึ้นจากโหมดเข้มงวดของ ECMAScript 5 โหมดนี้หยุดให้บริการแล้วเมื่อ 6 กรกฎาคม 2016 ตอนนี้สคริปต์ทั้งหมดใช้โหมด IFRAME