1.2.7. HTML фрейм

Классы фреймов:

class btkFrame.TbtkHTMLViewerFrame
class btkFrame.TbtkLookUpHTMLViewerFrame

1.2.7.1. Общие положения

HTML фрейм предназначен для отображения и/или редактирования HTML страниц. Редактирование может происходить как в визуальном редакторе так и в редакторе HTML-кода.

Для использования подгружаемых скриптов необходимо добавлять тег совместимости браузера <meta http-equiv=”X-UA-Compatible” content=”IE=10”/> или <meta http-equiv=”X-UA-Compatible” content=”IE=edge”/>. Без этого тега он не подгружает и не выполняет скрипты вида <script src=””.

1.2.7.2. Отображение flash-файлов

Существует возможность отображения flash-файлов, хранящихся в базе, для этого перед отображением HTML-страницы к относительному пути до объектов flash дописывается путь до исполняемого файла Global.exe. Дополняется только относительный путь, то есть путь, который не содержит таких последовательностей как :\ или :/. О помещении в эту папку flash-файла разработчик должен позаботиться самостоятельно.

1.2.7.2.1. Пример

Если клиент global.exe был запущен из папки C:\Depot\Development\_Global_LastBuild\main, то HTML-код

<span class="sc2"><span class="kw2">html</span></span>
   <span class="sc2"><span class="kw2">body</span></span>
     <span class="sc2"><span class="kw2">object</span> <span class="kw3">classid</span><span class="sy0">=</span><span class="st0">"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"</span> <span class="kw3">codebase</span><span class="sy0">=</span><span class="st0">"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"</span> <span class="kw3">width</span><span class="sy0">=</span><span class="st0">"100"</span> <span class="kw3">height</span><span class="sy0">=</span><span class="st0">"100"</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">"test1"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"movie"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"17.swf"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"quality"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"high"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"bgcolor"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"#ffffff"</span></span>
     <span class="sc2"><span class="sy0">/</span><span class="kw2">object</span></span>
     <span class="sc2"><span class="kw2">object</span> <span class="kw3">classid</span><span class="sy0">=</span><span class="st0">"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"</span> <span class="kw3">codebase</span><span class="sy0">=</span><span class="st0">"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"</span> <span class="kw3">width</span><span class="sy0">=</span><span class="st0">"100"</span> <span class="kw3">height</span><span class="sy0">=</span><span class="st0">"100"</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">"test1"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"movie"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"http://rp5.ru/informer/100x100/1/17.swf"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"quality"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"high"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"bgcolor"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"#ffffff"</span></span>
     <span class="sc2"><span class="sy0">/</span><span class="kw2">object</span></span>
   <span class="sc2"><span class="sy0">/</span><span class="kw2">body</span></span>
 <span class="sc2"><span class="sy0">/</span><span class="kw2">html</span></span>

будет изменен на следующий

<span class="sc2"><span class="kw2">html</span></span>
   <span class="sc2"><span class="kw2">body</span></span>
     <span class="sc2"><span class="kw2">object</span> <span class="kw3">classid</span><span class="sy0">=</span><span class="st0">"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"</span> <span class="kw3">codebase</span><span class="sy0">=</span><span class="st0">"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"</span> <span class="kw3">width</span><span class="sy0">=</span><span class="st0">"100"</span> <span class="kw3">height</span><span class="sy0">=</span><span class="st0">"100"</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">"test1"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"movie"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"C:\Depot\Development\_Global_LastBuild\main\17.swf"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"quality"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"high"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"bgcolor"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"#ffffff"</span></span>
     <span class="sc2"><span class="sy0">/</span><span class="kw2">object</span></span>
     <span class="sc2"><span class="kw2">object</span> <span class="kw3">classid</span><span class="sy0">=</span><span class="st0">"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"</span> <span class="kw3">codebase</span><span class="sy0">=</span><span class="st0">"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"</span> <span class="kw3">width</span><span class="sy0">=</span><span class="st0">"100"</span> <span class="kw3">height</span><span class="sy0">=</span><span class="st0">"100"</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">"test1"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"movie"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"http://rp5.ru/informer/100x100/1/17.swf"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"quality"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"high"</span></span>
       <span class="sc2"><span class="kw2">param</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">"bgcolor"</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">"#ffffff"</span></span>
     <span class="sc2"><span class="sy0">/</span><span class="kw2">object</span></span>
   <span class="sc2"><span class="sy0">/</span><span class="kw2">body</span></span>
 <span class="sc2"><span class="sy0">/</span><span class="kw2">html</span></span>

Как видите, путь к файлу 17.swf был дополнен абсолютным путём C:\Depot\Development\_Global_LastBuild\main\.

1.2.7.3. Паскаль скрипты в теле HTML

В документе HTML паскаль-скриптами могут быть ссылки. При нажатии на сслылку произойдёт не переход по ссылке, а выполнение скрипта в рамках текущей выборки.

Для этого в теле тэга, обозначающего гипер-ссылку, необходимо поместить управляющий тэг <script>. То что находится после этого тэга будет считаться скриптом

Пример
  <a href="<script><Pascal>
    ShowMessage('Hello, World');
  </Pascal>">Паскаль скрипт</a>

Этот же подход можно использовать и с помощью JS формировать паскаль операции на лету:

Пример вызова из JS произвольно составленной паскаль операции
  <HTML>
    <script type="text/javascript">
      func t ion popup() {
        alert('popup Hello World!');
        window.location.assign("<script> <Pascal>ShowMessage('PASCAL Hello, World');</Pascal>");
      }
    </script>
    <Body>
      <a id="myLink" title="Click to do something" nohref onclick="popup();return false;">JS Script</a>
    </Body>
  </HTML>

1.2.7.4. Свойства фрейма

Раздел находится в разработке.

Пока описаны не все свойства.

Свойство Описание
HeaderVisible Управляет видимостью заголовка.
ToolBarVisible Управляет видимостью панели управления.