یک enum که حالتهای sandbox را نشان میدهد که میتوانند برای اسکریپتهای Html Service سمت کلاینت استفاده شوند. این مقادیر از Html Service.SandboxMode قابل دسترسی هستند و با فراخوانی Html Output.setSandboxMode(mode) تنظیم میشوند.
برای فراخوانی یک enum، کلاس والد، نام و ویژگی آن را فراخوانی میکنید. برای مثال، HtmlService.SandboxMode.IFRAME .
حالتهای NATIVE و EMULATED در ۱۳ اکتبر ۲۰۱۵ منسوخ شدند و اکنون هر دو منسوخ شدهاند. اکنون فقط حالت IFRAME پشتیبانی میشود.
برای محافظت از کاربران در برابر دریافت HTML یا جاوا اسکریپت مخرب، کد سمت کلاینت که از سرویس HTML ارائه میشود، در یک جعبه شنی امنیتی اجرا میشود که محدودیتهایی را بر روی کد اعمال میکند. متد Html Output.setSandboxMode(mode) قبلاً به نویسندگان اسکریپت اجازه میداد تا بین نسخههای مختلف جعبه شنی انتخاب کنند، اما اکنون هیچ تاثیری ندارد. برای اطلاعات بیشتر، به راهنمای محدودیتهای سرویس HTML مراجعه کنید.
حالت IFRAME محدودیتهای بسیار کمتری نسبت به سایر حالتهای sandbox اعمال میکند و سریعتر اجرا میشود، اما در برخی مرورگرهای قدیمیتر، از جمله Internet Explorer 9، به هیچ وجه کار نمیکند. حالت sandbox را میتوان با بررسی google.script.sandbox.mode در یک اسکریپت سمت کلاینت نیز خواند. توجه داشته باشید که این ویژگی حالت واقعی را در کلاینت برمیگرداند، که اگر حالت درخواستی در مرورگر کاربر پشتیبانی نشود، ممکن است با حالت درخواستی در سرور متفاوت باشد.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
خواص
| ملک | نوع | توضیحات |
|---|---|---|
EMULATED | Enum | یک حالت sandbox قدیمی که حالت strict ECMAScript 5 را تنها با استفاده از ویژگیهای موجود در ECMAScript 3 شبیهسازی میکند. این حالت تا قبل از فوریه ۲۰۱۴ پیشفرض بود. غروب خورشید در تاریخ ۱۰ دسامبر |
IFRAME | Enum | یک حالت سندباکس که از سندباکس iframe به جای فناوری سندباکس Caja که توسط حالتهای EMULATED و NATIVE استفاده میشود، استفاده میکند. این حالت پیشفرض برای اسکریپتهای جدید از ۱۲ نوامبر ۲۰۱۵ و برای همه اسکریپتها از ۶ ژوئیه ۲۰۱۶ است.این حالت محدودیتهای بسیار کمتری نسبت به سایر حالتهای سندباکس اعمال میکند و سریعترین اجرا را دارد، اما در برخی مرورگرهای قدیمی، از جمله اینترنت اکسپلورر ۹، اصلاً کار نمیکند. |
NATIVE | Enum | یک حالت سندباکس که بر اساس حالت سختگیرانه ECMAScript 5 ساخته شده است. یک حالت سندباکس که بر اساس حالت سختگیرانه ECMAScript 5 ساخته شده است. این حالت از 6 ژوئیه 2016 غیرفعال شد. اکنون همه اسکریپتها از حالت IFRAME استفاده میکنند. |