Главная » Веб-разработка, Плагины

JQuery плагин Jframe: вместо фреймов!

29 Сентябрь 2008 просмотров 12 143 комментариев 12


Вот понадобилось одному заказчику сделать на html страничке блок с опросом. Первое, что я сделала, полезла искать голосовалки на JS – ничего хорошего не нашла.. И тут пришла в голову идея: вот если бы можно было загрузить в html страничку php код из другого файла, только без фремов… Сразу зашла на сайт JQuery в раздел Plugins и по фразе “Ajax Iframe” удалось найти архиполезный плагин – Jframe. Что он умеет делать?

Этот замечательный плагин работает довольно просто: он использует Ajax функции для загрузки контента из другого документа (с того же домена). Т.е. он полностью повторяет возможности элемента <iframe>, разница только в том, что весь подгружаемый из другого файла контент становится полноценной частью кода документа-родителя.

сушенная морская капуста, соевая спаржа.

Очень интересные факты о мужчинах.

Сказка на ночь… Мурашки по коже.. Послушайте сами первую часть – недетская сказка от ребенка.

Бесплатный адалт трафик для ваших ресурсов с тизерной сети.

Вот простейший пример. Вместо привычного iframe нужно просто прописать параметр src у блока div.

<div src="/path_to_file/file.php" class="myframe"></div>

При этом, сгенерированный код документа будет содержать не только этот блок с путем к загружаемому файлу, но и весь контент этого файла. Еще несколько примеров можно найти на странице разработчика.

Конечно, тут есть одно НО – такая структура кода (блок с src) не пройдет валидацию. Однако, несмотря на такой недостаток, я считаю этот способ лучшей заменой фреймов, если вам никак заменить html файл на php.

Комментариев 12 »

  • ]]>Денис пишет: ]]>

    А почему бы просто не использовать onload событие для подгрузки файла используя аякс при этом не портя исходный код страницы невалидным src у дива?! Согласен, плагином может быть удобнее, но куда большие возможности получаешь при “ручной” вставке…
    И о полноценной замене фреймов в данном случае говорить не приходится – факт.

      Цитировать

  • ]]>tenshi пишет: ]]>

    а чем обычные фреймы не угодили? о_0
    впрочем, в xhtml2 можно указывать атрибут src для любого элемента…

      Цитировать

  • ]]>Автор пишет: ]]>

    заказчик категорически был против фреймов.

      Цитировать

  • ]]>Автор пишет: ]]>

    в данной ситуации валидность вообще не имела значение, поэтому искала самое простое и быстрое решение. Конечно, можно все руками сделать, но честно не хотелось возиться с лишними функциями и скриптами.

      Цитировать

  • ]]>webmasters_by пишет: ]]>

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

      Цитировать

  • ]]>smithrix пишет: ]]>

    Надо будет попробывать так сделать, а то я как раз в новом сайте начал с div’ами играться.

      Цитировать

  • ]]>Viper пишет: ]]>

    -> полезла искать голосовалки на JS – ничего хорошего не нашла…

    может быть не там искали :) сам неделю рыл инет :) нашел http://www.m3nt0r.de/devel/raterDemo/
    отлично прикрутил к своему коду, к тому же нет проблем с отображением в IE

      Цитировать

  • ]]>Сергей пишет: ]]>

    Не понимаю. В чем проблема использовать стандартный метод JQuery ($.GET()) ИМХО чем перегружать код немереным количеством плагинов по моему стоит просто сделать свою функцию тот же метод .load() вполне понимает get запросы

      Цитировать

  • ]]>Роман пишет: ]]>

    $postdata = http_build_query(
    array(
    ‘vote’ => $vote
    )
    );
    $opts = array(‘http’ =>
    array(
    ‘method’ => ‘POST’,
    ‘header’ => ‘Content-type: application/x-www-form-urlencoded’,
    ‘content’ => $postdata
    )
    );$context = stream_context_create($opts);
    echo file_get_contents(“http://www.site.ru/file.php”,false,$context);

      Цитировать

  • ]]>thinmoto пишет: ]]>

    Вы, Роман, велосипедист :) Или просто не любите jQuery ?

      Цитировать

  • ]]>sNICkers пишет: ]]>

    Возможно ли динамически изменять src div-а с помощью JavaScript?

      Цитировать

Комментарии

Добавьте ваш комментарий, или трекбэк с сайта. Вы также можете подписаться на комментарии к этой статье через RSS.

Вы можете использовать теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Чтобы получить аватарку, зарегистрируйтесь на Gravatar.