Enum SandboxMode

Sandbox-Modus

Ein Enum, das die Sandbox-Modi darstellt, die für clientseitige HtmlService-Skripts verwendet werden können. Auf diese Werte kann über HtmlService.SandboxMode zugegriffen werden. Sie werden durch Aufrufen von HtmlOutput.setSandboxMode(mode) festgelegt.

Um ein Enum aufzurufen, rufen Sie die übergeordnete Klasse, den Namen und die Eigenschaft auf. Beispiel: HtmlService.SandboxMode.IFRAME.

Die Modi NATIVE und EMULATED wurden am 13. Oktober 2015 eingestellt und sind jetzt nicht mehr verfügbar. Nur der Modus IFRAME wird jetzt unterstützt.

Um Nutzer vor bösartigem HTML- oder JavaScript-Code zu schützen, wird clientseitiger Code, der über den HTML-Dienst bereitgestellt wird, in einer Sicherheits-Sandbox ausgeführt, die Einschränkungen für den Code auferlegt. Mit der Methode HtmlOutput.setSandboxMode(mode) konnten Skriptautoren zuvor zwischen verschiedenen Versionen der Sandbox wählen. Das ist jetzt nicht mehr möglich. Weitere Informationen finden Sie in der Anleitung zu Einschränkungen im HTML-Dienst.

Im IFRAME-Modus gelten viel weniger Einschränkungen als in den anderen Sandbox-Modi. Er ist auch der schnellste, funktioniert aber in bestimmten älteren Browsern wie Internet Explorer 9 überhaupt nicht. Der Sandbox-Modus kann auch in einem clientseitigen Script durch Untersuchen von google.script.sandbox.mode gelesen werden. Diese Eigenschaft gibt den tatsächlichen Modus auf dem Client zurück. Dieser kann sich vom auf dem Server angeforderten Modus unterscheiden, wenn der angeforderte Modus im Browser des Nutzers nicht unterstützt wird.

<!-- Read the sandbox mode (in a client-side script). -->
<script>
  alert(google.script.sandbox.mode);
</script>

Attribute

AttributTypBeschreibung
EMULATEDEnumEin Legacy-Sandbox-Modus, der den ECMAScript 5-Strict-Modus emuliert und nur die in ECMAScript 3 verfügbaren Funktionen verwendet. Vor Februar 2014 war dieser Modus die Standardeinstellung.

EMULATED wurde am 10. Dezember 2015 eingestellt. In allen Scripts, in denen EMULATED verwendet wird, wird jetzt stattdessen IFRAME verwendet.

IFRAMEEnumEin Sandbox-Modus, der Iframe-Sandboxing anstelle der Caja-Sandbox-Technologie verwendet, die in den Modi EMULATED und NATIVE verwendet wird. Dieser Modus ist seit dem 12. November 2015 der Standard für neue Skripts und seit dem 6. Juli 2016 für alle Skripts.

Dieser Modus unterliegt viel weniger Einschränkungen als die anderen Sandbox-Modi und wird am schnellsten ausgeführt. Er funktioniert jedoch in bestimmten älteren Browsern, einschließlich Internet Explorer 9, überhaupt nicht.

NATIVEEnumEin Sandbox-Modus, der auf dem Strict-Modus von ECMAScript 5 basiert. Ein Sandbox-Modus, der auf dem strikten Modus von ECMAScript 5 basiert. Dieser Modus wurde am 6. Juli 2016 eingestellt. Alle Scripts verwenden jetzt den IFRAME-Modus.