यह एक इनम है. यह उन सैंडबॉक्स मोड को दिखाता है जिनका इस्तेमाल क्लाइंट-साइड HtmlService
स्क्रिप्ट के लिए किया जा सकता है. इन वैल्यू को HtmlService.SandboxMode से ऐक्सेस किया जा सकता है. साथ ही, इन्हें HtmlOutput.setSandboxMode(mode) को कॉल करके सेट किया जा सकता है.
किसी enum को कॉल करने के लिए, उसकी पैरंट क्लास, नाम, और प्रॉपर्टी को कॉल करें. उदाहरण के लिए,
HtmlService.SandboxMode.IFRAME.
NATIVE और EMULATED मोड,
13 अक्टूबर, 2015 को बंद कर दिए गए थे. अब ये दोनों मोड उपलब्ध नहीं हैं. अब सिर्फ़ IFRAME मोड का इस्तेमाल किया जा सकता है.
उपयोगकर्ताओं को नुकसान पहुंचाने वाले एचटीएमएल या JavaScript से बचाने के लिए, एचटीएमएल सेवा से दिखाया गया क्लाइंट-साइड कोड, सुरक्षा सैंडबॉक्स में काम करता है. यह कोड पर पाबंदियां लगाता है. इस तरीके से, स्क्रिप्ट लिखने वाले लोग HtmlOutput.setSandboxMode(mode) पहले सैंडबॉक्स के अलग-अलग वर्शन चुन सकते थे. हालांकि, अब इसका कोई असर नहीं पड़ता. ज़्यादा जानकारी के लिए, एचटीएमएल सेवा से जुड़ी पाबंदियों के बारे में गाइड देखें.
IFRAME मोड में, अन्य सैंडबॉक्स मोड की तुलना में बहुत कम पाबंदियां होती हैं. साथ ही, यह सबसे तेज़ी से काम करता है. हालांकि, यह कुछ पुराने ब्राउज़र में काम नहीं करता. जैसे, Internet Explorer 9. सैंडबॉक्स मोड को क्लाइंट-साइड स्क्रिप्ट में भी पढ़ा जा सकता है. इसके लिए, google.script.sandbox.mode की जांच करें. ध्यान दें कि यह प्रॉपर्टी, क्लाइंट पर मौजूद असल मोड दिखाती है. यह सर्वर पर अनुरोध किए गए मोड से अलग हो सकता है. ऐसा तब होता है, जब अनुरोध किया गया मोड उपयोगकर्ता के ब्राउज़र पर काम नहीं करता.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
प्रॉपर्टी
| प्रॉपर्टी | टाइप | ब्यौरा |
|---|---|---|
EMULATED | Enum | यह लेगसी सैंडबॉक्स मोड है. यह ECMAScript 5 के स्ट्रिक्ट मोड की नकल करता है. इसके लिए, सिर्फ़ ECMAScript 3 में उपलब्ध सुविधाओं का इस्तेमाल किया जाता है. फ़रवरी 2014 से पहले, यह मोड डिफ़ॉल्ट रूप से चालू रहता था.
|
IFRAME | Enum | यह सैंडबॉक्स मोड, EMULATED और NATIVE मोड में इस्तेमाल की जाने वाली Caja सैंडबॉक्स टेक्नोलॉजी के बजाय, iframe सैंडबॉक्सिंग का इस्तेमाल करता है. यह मोड, 12 नवंबर, 2015 से नई स्क्रिप्ट के लिए डिफ़ॉल्ट रूप से उपलब्ध है. साथ ही, 6 जुलाई, 2016 से सभी स्क्रिप्ट के लिए डिफ़ॉल्ट रूप से उपलब्ध है.
इस मोड में, अन्य सैंडबॉक्स मोड की तुलना में बहुत कम पाबंदियां होती हैं. साथ ही, यह सबसे तेज़ी से काम करता है. हालांकि, यह Internet Explorer 9 जैसे कुछ पुराने ब्राउज़र में काम नहीं करता. |
NATIVE | Enum | यह सैंडबॉक्स मोड, ECMAScript 5 के स्ट्रिक्ट मोड पर आधारित है. यह सैंडबॉक्स मोड, ECMAScript 5 के स्ट्रिक्ट मोड पर आधारित है. इस मोड को 6 जुलाई, 2016 से बंद कर दिया गया है. सभी स्क्रिप्ट अब IFRAME मोड का इस्तेमाल करती हैं. |