Enum SandboxMode

SandboxMode

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 und sie durch Aufrufen von HtmlOutput.setSandboxMode(mode) festgelegt werden.

Um eine Enum aufzurufen, rufen Sie ihre übergeordnete Klasse, ihren Namen und ihre Eigenschaft auf. Beispiel: HtmlService.SandboxMode.IFRAME.

Die Modi NATIVE und EMULATED wurden am 13. Oktober 2015 eingestellt und beide werden jetzt eingestellt. Jetzt wird nur der Modus IFRAME unterstützt.

Um Nutzer vor schädlichem HTML- oder JavaScript-Code zu schützen, wird clientseitiger Code, der vom HTML-Dienst bereitgestellt wird, in einer Sicherheits-Sandbox ausgeführt, die den Code eingeschränkt. Mit der Methode HtmlOutput.setSandboxMode(mode) konnten Skriptautoren bisher zwischen verschiedenen Versionen der Sandbox auswählen, dies hat jedoch keine Auswirkungen mehr. Weitere Informationen finden Sie im Leitfaden zu Einschränkungen im HTML-Dienst.

Für den Modus IFRAME gelten wesentlich weniger Einschränkungen als in den anderen Sandbox-Modi. Er wird am schnellsten ausgeführt, funktioniert jedoch in bestimmten älteren Browsern, einschließlich Internet Explorer 9, überhaupt nicht. Der Sandbox-Modus kann auch in einem clientseitigen Skript gelesen werden. Dazu prüfen Sie google.script.sandbox.mode. Dieses Attribut gibt den tatsächlichen Modus auf dem Client zurück. Dieser kann sich vom Modus unterscheiden, der vom Server angefordert wird, 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

PropertyTypBeschreibung
EMULATEDEnumEin alter Sandbox-Modus, der den strikten ECMAScript 5-Modus emuliert, wobei nur die in ECMAScript 3 verfügbaren Funktionen verwendet werden Vor Februar 2014 war das die Standardeinstellung.

EMULATED wurde am 10. Dezember 2015 eingestellt. Alle Skripts, die versuchen, EMULATED zu verwenden, verwenden jetzt stattdessen IFRAME.

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

Dieser Modus erzwingt wesentlich weniger Einschränkungen als die anderen Sandbox-Modi und wird am schnellsten ausgeführt. In bestimmten älteren Browsern wie Internet Explorer 9 funktioniert er jedoch überhaupt nicht.

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