2009-11-10 3 views
0

Я ищу способ отображения веб-страницы внутри div другой веб-страницы.
Я могу получить веб-страницу с помощью CURL, но поскольку у меня есть внешняя таблица стилей, когда я пытаюсь ее отобразить, она появляется без всех его свойств стиля.
Я помню, как facebook использовал эту технику с общими ссылками (вы использовали, чтобы увидеть страницу, связанную с заголовком facebook). сделал некоторые неудачные тесты jquery, но я почти не знаю, как продолжить ..
Я знаю это может быть сделано с кадрами, но я всегда здесь, что это хорошая практика, чтобы избежать кадров, поэтому я немного смущен
любые идеи, как это осуществить?отображение веб-страницы внутри другой веб-страницы без фреймов

ответ

2

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

Facebook и Google используют эту технику для отображения страниц, сохраняя при этом свою марку/навигационную панель над другим сайтом.

+0

Спасибо за это, пойдет с решением рамки. знаете ли вы случайно, возможно ли включить закрытие рамки «header», чтобы позволить пользователю оставаться на исходной странице? –

+0

@Yaniv Вы имеете в виду, можно ли визуально обернуть свою страницу о другой странице, а не просто делать заголовок? Если да, то да. Я бы рекомендовал искать iframe и его многочисленные реализации. –

+0

Хорошо, после изучения на некоторое время выглядит так, что это очень редко, потому что iframe не будет регулировать его высоту в соответствии с содержимым в нем. Есть некоторые обходные пути, но большинство из них не будут работать, если содержимое iframe другой домен (который он в моем случае) .. bummer .. придется подумать об этом снова –

1

Я собираюсь угадать, что Facebook все еще использовал iFrame, без границ и хорошо помещенного заголовка за его пределами. Причина, по которой я предполагаю, состоит в том, что, если на внешней странице есть своя таблица стилей, существует высокая вероятность того, что ваши стили и их стили столкнутся и не будут отображаться правильно.

Для того, чтобы стили не конфликтуют все на обоих концах должен быть очень подробными, а не только общие стили, применяемые ко всем пунктам и т.д ...

1

я согласен, что использование кадров, вероятно, будет лучшим решением для вас проблема. , но если вы все еще хотите избежать кадров и поместить содержимое в div с id externalConent, вы можете запросить таблицы стилей так же, как вы получите другое содержимое, и префикс каждого правила в них с помощью «#externalContent». сохраните эти таблицы стилей на свой сервер и включите их на свою страницу. с еще несколькими настройками, которые должны работать. Я должен признать, что это решение звучит довольно странно ... ну, это так. , но это единственный способ сделать то, о чем вы просите.

+0

Вам также придется изменить все ссылки на класс HTML. Это кажется немного излишним, чтобы отображать внешнюю веб-страницу.(Когда-либо писал HTML-парсер и CSS Parser?) – Earlz

+0

да, это звучит как большая головная боль :) iframe это будет .. :) спасибо –

0

Если вы не можете использовать рамку или IFRAME, попробуйте:

  • извлечь HTML внутри тела и вставить его в целевой DIV
  • извлечь и секции в заголовке

Не очень чистый, но он определенно работает, вы можете вставить форум phpBB в другой динамический способ, используя эту технику, посмотрите на пример http://www.clearerimages.com/forum/.

Смежные вопросы