HTMLDocument
<HtmlDocument>
Die Anzeige von HTML ist als iFrame im Sandbox-Modus umgesetzt. Daher wird JavaScript standardmäßig nicht ausgeführt. Wenn eine eingebundene Ressource (z. B. Video, Grafik oder Audio) JavaScript enthält, wird diese Ressource nicht angezeigt.
Die Elemente <video>
und <audio>
werden von Safari nicht unterstützt.
Die Elemente <video>
, <picture>
und <source>
werden auf einem iPad nicht angezeigt.
Die Anzeige kann mit einem <style>
-Tag im <head>
-Element des HTML-Dokuments formatiert werden. Lokale CSS-Dateien werden nicht unterstützt.
Für das Element <HtmlDocument>
lassen sich folgende Attribute festlegen:
Attribut | Beschreibung |
---|---|
process | Erforderlich. Technical Process, der das HTML-Dokument liefert. Mögliche Werte: Zeichenkette (URI) Der aufgerufene Technical Process muss ein vollständiges HTML-Dokument zurückliefern! |
allowSameOrigin | Erlaubt eingebetteten Inhalten, gemeinsamen Speicherplatz zu verwenden, wenn der Ursprung der eingebetteten Inhalte derselbe ist wie der Ursprung der Host-Webanwendung. Mögliche Werte:
Die Standardeinstellung |
allowScript | Erlaubt den Inhalten, JavaScript zu verwenden. Mögliche Werte:
|
allowForms | Erlaubt eingebetteten Inhalten, Formulare zu übermitteln. Mögliche Werte:
|
allowPointerLock | Erlaubt eingebetteten Inhalten, Mausbewegungen direkt als Eingabemethode zu interpretieren. Mögliche Werte:
|
allowPopups | Erlaubt eingebetteten Inhalten, eine Webseite in einem neuen Fenster oder einer neuen Registerkarte zu öffnen. Mögliche Werte:
|
allowTopNavigation | Erlaubt eingebetteten Inhalten, eine Webseite im selben Fenster oder in derselben Registerkarte zu öffnen. Mögliche Werte:
|
allowModals | Erlaubt eingebetteten Inhalten, einen modalen Dialog anzuzeigen. Mögliche Werte:
|
disabled | Legt fest, ob der Benutzer mit dem Control interagieren kann.
Mögliche Werte: |
enabled | Legt fest, ob der Benutzer mit dem Control interagieren kann.
Mögliche Werte: |
horizontalAlign | Richtung, in die die Elemente fließen. Reihenfolge der Elemente entspricht ihrer Deklaration. Mögliche Werte:
|
textOverflow | Gibt an, was passieren soll, wenn das Control voll ist. Mögliche Werte:
|
visible | Legt fest, ob das Control sichtbar ist.
Mögliche Werte: |
Beispiel für <HtmlDocument>
In der Web-App-Definition (.wad
) wird das Control <HtmlDocument>
mit dem Technical Process Sample.wrf
verknüpft.
<WebApp xmlns="http://softproject.de/webapp/1.0"
path="HtmlDocument">
<Modules>
<Module displayName="My Module" path="Module">
<Components>
<DetailComponent default="true"
displayName="Dashboard"
path="Dashboard"
process="load.wrf">
<Properties>
<Property name="string" type="String"/>
</Properties>
<FlowLayout>
<HTMLDocument process="Sample.wrf" units="pixels"/>
</FlowLayout>
</DetailComponent>
</Components>
</Module>
</Modules>
</WebApp>
Der Technical Process Sample.wrf
liefert ein HTML-Dokument:
Das vom Technical Process gelieferte HTML-Dokument sieht folgendermaßen aus:
<html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<style>
body{
font-family: Arial, sans-serif;
padding: 10px;
}
table, td, th{
border: 1px solid grey;
padding: 5px;
border-collapse: collapse;
}
th{
background-color: grey;
color: white;
}
</style>
</head>
<body>
<h1>This is a sample for displaying HTML content in Web Apps</h1>
<p>Most default elements of HTML5 are supported like <i>lists</i> (ordered and unordered), <i>horizontal lines</i> and <i>tables</i>.</p>
<hr/>
<h1>Samples</h1>
<h2>Example for an ordered list</h2>
<p>This is an example for an ordered list with a few items:</p>
<ol>
<li>
Item 1
</li>
<li>
Item 2
</li>
</ol>
<h2>Example for an unordered list</h2>
<p>This is an example for an unordered list with a few items:</p>
<ul>
<li>
Item 1
</li>
<li>
Item 2
</li>
</ul>
<h2>Tables</h2>
<p>This is an example for a table with some columns:</p>
<table>
<thead>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
<th>Header 4</th>
</thead>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr>
</table>
</body>
</html>
Das HTML-Dokument wird in der Web App folgendermaßen angezeigt: