Главная

Главная


Web Slices IE 8 Если вы слушали доклады или читали статьи о новинках IE 8, то должны помнить, что добвить web slices (веб-фрагменты) к своему сайту проще простого. Легкий взмах руки (добавление 2-3 аттрибутов в html) - и вы смело можете утверждать, что ваш сайт по полной использует возможности новой версии браузера!

Но так ли все просто на самом деле? Конечно, в наше время верить в чудеса стало легче. Кто-то еще помнит, сколько усилий и времени нужно было потратить, чтобы заставить общаться клиентскую и серверную части кода по DCOM? Чувствуете разницу, реализуя все то же сейчас на WPF? (кстати, намного больше усилий приходилось тратить не на реализацию, а на поддержку этого рершения в локальных сетях заказчиков; в десяти случаях все нормально, в одиннадцатом - нет; и сеть такая же, и руки админ мыл - а не работает. Ладно, это так, лирика :)

Знаете, в программировании, да и в любой другой высокотехнологичной среде, вместо ответов "да" и "нет" практически всегда звучит "да, но ..." и "нет, хотя ...". И это правильно, ведь для того, чтобы правильно задать вопрос, нужно знать большую часть ответа. Вот и сейчас, можно смело сказать, "да, легко, но ...".

Ну что, посмотрим, что скрывается за этим многоточием?

Для наглядности возьмем пример, на котором я разбирался с web slices сам: модуль, выводящий последние результаты футбольных матчей. Для web slices это практически идеальный кандидат - часть страницы с постоянно обновляющейся информацией, которая интересна многим пользователям.

В лучших традициях инкапсуляции сам модуль выглядит у нас так:
<common:LiveResults ID="lr" runat="server"/>
Итак ...

Web slices - взгляд первый

Web Slices FanNet.org Легкий взмах руки:
  • Выделяем нужную нам область тегом div, отмечаем его классом "hslice" и придумываем какой-нибудь id (это обязательное условие для web slices, не важно какой, но id нужен)

  • Внутрь div-а добавляем тег, помеченный классом "entry-title". Он нужен для того, чтобы IE мог определить название нашего веб-фрагмента. Устанавливаем ему стиль "display:none", чтобы сделать невидимым для пользователя.

    Кончно, можно прекрасно использовать и тег с заголовком внутри нашего модуля. Я вынес заголовок, чтобы полностью изолировать логику web slice от user control и оставить ему только отрисовку результатов. А будут они отображаться на странице или как web slices - не user control-ного ума дело.
Получаем вот что:
<div id="liveRes" class="hslice">
    <span class="entry-title" style="display:none">Online-результаты</span>
    <common:LiveResults ID="lr" runat="server"/>
</div>
И все действительно работает. Наводим на модуль мышкой, выбираем "Добавить на панель избранного" и получаем симпатичную кнопку с последними матчами.

Часть ответа со словом "да" мы честно отработали. Теперь посмотрим, что у нас означает "но". [читать дальше]