Проектирование HTML-страницы обслуживаемой
математическим ядром K2.SimKernel

Математическое ядро K2.SimKernel распространяется в сети "Интернет", устанавливается на компьютере пользователя при посещении обслуживаемых html-страниц или при запуске chm-файлов системы контекстной справки OC Windows.

Устанавливаемый комплект файлов и "Сертификат издателя ПО" находится в архиве K2SimKernel.CAB, имеющем цифровую подпись. Версия архива постоянно обновляется. За этим следит автор.

Процедура загрузки и обновления содержимого архива K2SimKernel.CAB (библиотеки Klinachyov2.dll и файлов документации) на машине пользователя контролируется атрибутом codeBase тега <object />:

codeBase="K2SimKernel.CAB#Version=1,0,0,1"

При этом действует ряд правил:

HTML-код и сценарий установки математического ядра K2.SimKernel

Особенность библиотеки Klinachyov2.dll состоит в том, что она одна содержит несколько элементов ActiveX. Тот ActiveX-элемент, который будет использован в html-странице первый, определяет имя, под которым библиотека будет установлена в КЭШ загружаемых программ браузера MSIE: либо "Klinachyov K2_SimKernel Class"; либо "Klinachyov SV_Meter Control"; либо "Klinachyov SV_Oscillograf Control". Дабы не путать пользователя рекомендуется первым в html-документе подключать математическое ядро. Соответствующий html-код выглядит следующим образом:

<OBJECT name="K2SimKernel" style="VISIBILITY: hidden"
classid="CLSID:A570BA58-301E-4DF2-A276-013CA1EF1093"
codeBase="http://model.exponenta.ru/k2/K2SimKernel.CAB#Version=1,0,0,1"
height="1" width="1" border="0">
Загрузка файла K2SimKernel.CAB прошла не успешно.<br>
Попробуйте перезагрузить страницу или просмотреть ее позже.
</OBJECT>

После загрузки объект математического ядра K2.SimKernel генерирует событие, сообщающее контейнеру (браузеру) о своей готовности. В ответ на событие браузер может приступить к программированию ядра и серверов визуализации. Но серверы могут быть не готовы (их код ниже в странице). По этой причине приведенный выше код тега имеет атрибут "VISIBILITY: hidden", блокирующий активацию ядра. После загрузки всей страницы можно программно изменить его значение, что активирует ядро:

<body onload="javascript:if(typeof(K2SimKernel)!='undefined')K2SimKernel.style.visibility='visible';">

В разделе руководства "Альбом демонстрационных моделей" можно на примерах ознакомиться с внедрением математического ядра в html-страницы.

10.01.2005