www.7e-nebo.ru www.7e-nebo.ru

С введением пакета исправлений SP2 для Windows XP компания Microsoft значительно ужесточила систему безопасности своего браузера, чем отравила жизнь множеству web-разработчиков. С появлением так называемой концепции «активного содержимого» множество строк кода, совершенно безопасного и прекрасно работающего в альтернативных браузерах, стало блокироваться системой безопасности «ослика».

Нашей компании поступил заказ на создание презентационного компакт-диска Республики Башкортостан от министерства внешнеэкономических связей и торговли Республики Башкортостан. Этот диск содержит большое количество информации о республике и вручается многочисленным иностранным делегациям при их посещении выставок, встреч, конференций и т. п. Основным требованием заказчика была максимальная открытость формата компакт-диска и его независимость от программно-аппаратной платформы. Поэтому наш выбор пал на язык верстки html + java script для реализации деталей интерфейса, например при создании выпадающих меню, галереи и т. п.

Вскоре диск был разработан, но возникла указанная выше проблема с «активным содержимым». При установке диска в привод с помощью автозапуска запускался индексный файл главной страницы диска. При переходе на основное содержимое диска Internet Explorer выдавал запрос на разрешение активного содержимого (страница содержит выпадающее меню и галерею снимков на java script). Безобразие На мой взгляд, существует 4 пути избавления от указанного сообщения:

Реализация интерактивных элементов на основе CSS - (пожалуй лучший путь, но требует серьезных усилий и времени, тем более CSS работает непредсказуемо на разных браузерах) Майкрософт предлагает в таких случаях воспользоваться механизмом html application. Html application - это файл с расширением hta, по сути то же окно браузера, но без кнопок навигации. Однако hta файлы не работают ни в каких операционных системах, кроме Windows. Создание приложения Windows, с OLE контейнером, содержащим ActiveX элемент Internet Explorer. Такое решение тоже работает только в Windows.


Майкрософт проговаривается о существовании некоторых «волшебных комментариев», позволяющих обмануть браузер и перевести его в другую зону безопасности. Этим решением мы и воспользовались.


Цитата: 
If your Web page needs to run ActiveX or scripting, you can add a Mark of the Web comment in the HTML code. This Internet Explorer feature allows the HTML files to be forced into a zone other than the Local Machine zone so that they can then run the script or ActiveX code based on the security template that would be applied to the URL identified in the comment. For example if the URL specified was www.contoso.com and that URL was present in your trusted sites list, the page would use the security template for the trusted sites zone. This setting works in Internet Explorer 4 and later. To insert a Mark of the Web comment into your HTML file, add one of the following comments:

<!- saved from url=(0022)http://www.yoururl.com ->


Чтобы это заработало для вашего веб-сайта необходимо чтобы пользователь вручную добавил ваш сайт в список доверенных. Однако есть доверенный сайт, который всегда добавлен в зону, разрешающие Java Script - и этот файл знакомый каждому веб-мастеру localhost.
Вот после тега и напишем:


<!- saved from url=(0016)http://localhost ->
(цифра в скобках означает количество букв в URI)


Это примечание нужно вставить во все html файлы, иначе ссылки не будут открываться. Казалось бы все ОК, все работает, нет раздражающего запроса о разрешении «активного содержимого». Однако есть еще одна проблема. Мы не можем записать подобные комментарии в «не html» файлы. А ссылки на такие файлы открывать надо - в них может содержаться музыка, PDF документы, или просто банальные jpg файлы. Обрадую вас - нет никакого механизма для обхода указанного ограничения, кроме как открытия файла в контейнере html с вышеуказанным примечанием. Впрочем нет нужды создавать для каждого объекта файл-обертку. Достаточно создать один файл пустышку и загружать в него содержимое. Рассмотрим пример с загрузкой jpg картинок. Создадим файл picture.html с «волшебным» примечанием.



<html>
<head>
</head>
<body>
<!- saved from url=(0016)http://localhost ->
</body>
</html>


Он должен лежать в корне диска (впрочем можно переместить в любую другую общедоступную папку, выше по иерархии, но надо будет подправить код функции open_image. Эту функцию лучше разместить в js файле и подключать ее в секции head подобным образом:
<script type="text/javascript" src="../jss/main.js" mce_src="../jss/main.js"></script> Этот файл теперь содержит новую функцию которая собственно и открывает нужный нам графический файл - точнее грузит его в пустой picture.html



function open_image(k)
{
   var newwin;
   newwin = window.open("../picture.html");
   newwin.document.write("<img src='" + k + "‘>");
}


Открывать jpg файлы можно вызовом этой функции. Вот как надо оформлять ссылку на картинку "1.jpg" (откроется в новом окне):
<a href="javascript:open_image('1.jpg')" mce_href="javascript:open_image('1.jpg')"<картинка></a>

Таким образом, с помощью указанной технологии можно создавать компакт-диски не зависящие от используемой операционной системы и браузера по-умолчанию. Эта технология позволяет обойти неудобные ограничения Internet Explorer SP2.

line
Valid HTML 4.01 Transitional Valid CSS! www.7e-nebo.ru

03.05.2011

Разработан сайт компании Xantos — ведущего разработчика средств автоматизации пчеловодства.
подробнее...

30.10.2010

Запущен сайт ООО «СтройПромГрупп» — ведущего производителя упаковочных материалов.
подробнее...

27.10.2010

Разработан интернет-магазин производителя сумок и рюкзаков SilverTop
подробнее...