Есть ли способ изменить или изменить внешний вид входящего сайта на лету? - PullRequest
0 голосов
/ 10 июля 2010

У меня есть проект, в котором они хотят, чтобы я встроил веб-сайт в Java-приложение, и они хотят, чтобы у веб-сайта была такая же цветовая схема, как и у остальной части приложения. Я много знаю о CSS и создании веб-сайтов, но я не знаю, как изменить внешний вид веб-сайта, как он появляется на лету. Есть кто-то, кто может помочь?

Обновление:

У меня нет доступа к заголовку, потому что это не мой сайт. Чтобы дать больше информации о проекте, у нас есть браузер, встроенный в клиентское приложение Java. Пользователь должен получить доступ к веб-сайту, который отображает содержимое базы данных. У меня нет доступа к оригинальному HTML или CSS с сайта.

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

Ответы [ 7 ]

2 голосов
/ 10 июля 2010

Надстройка Greasemonkey для Firefox делает именно это. Вы можете написать немного кода Javascript и запустить его при загрузке определенных веб-страниц. Обычно его используют для внесения изменений в DOM для перемещения элементов страницы, скрытия или изменения размера элементов, изменения цветов и т. Д. Существует множество примеров на userscripts.org , если вы хотите понять, о чем я говорю.

Ваш код просто должен был бы сделать что-то подобное. Загрузите страницу (включая обычные таблицы стилей), а затем используйте DOM для внесения изменений в элементы стиля по своему усмотрению. Просмотрите исходный код страницы, чтобы получить имена / идентификаторы важных элементов, и ваш код может отключить их. Загрузка дополнительного файла CSS, содержащего ваши изменения, является опцией, но выполнение этого программным способом, скорее всего, даст вам больше гибкости в случае изменения целевого веб-сайта.

2 голосов
/ 10 июля 2010

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

Удачи

2 голосов
/ 10 июля 2010

Один из подходов - заменить их CSS своим собственным.

Вы также можете воспользоваться подходом, используемым Стильным плагином , который требует много! Важных замедлений для переопределения CSS сайта. Поскольку это Java-приложение, я предполагаю, что у пользователя не будет возможности предоставить свой собственный CSS, поэтому использование! Важный здесь не совсем соответствует стандарту.

1 голос
/ 10 июля 2010

Зависит от того, что вы используете для отображения страниц в Java.Большинство реализаций браузера поддерживают динамические изменения в DOM, поэтому вы можете просто добавить CSS-файл в заголовок как последний элемент, и он будет применен.

0 голосов
/ 10 июля 2010

Я бы использовал JTidy для нормализации исходного HTML сайта в XHTML, затем использовал XSLT для фильтрации только интересной / релевантной информации, получая формат XML; и наконец (поскольку я не хочу преобразовывать XML в объекты), XSLT снова преобразует «чистый» XML в HTML, который мне нужен / нужен.

Все это можно собрать в виде потоков, используя более или менее 4 КБ буфера на фильтр (всего 12 КБ) на поток. Также имеется ввиду, что он будет работать достаточно быстро. И все они построены на стандартных доступных компонентах с открытым исходным кодом.

Приветствие.

0 голосов
/ 10 июля 2010

На лету, должно означать изменение полученного HTML. Таким образом, анализ и замена токенов, кажется, / путь.

Вы можете изменить расположение файлов таблицы стилей, заменив значение href в ссылке, указывающей на файл CSS, и установите значение для своей таблицы стилей (другой URI).

<link type="text/css" href="mylocalURI" rel="stylesheet /> 
(this should be the result of a process/replacement)

Я думаю, вы понимаете, что должно произойти для встроенных стилей.

0 голосов
/ 10 июля 2010

вам нужно знать разметку html / css, чтобы вы могли сделать лучший скин.

теоретически вы могли бы сделать это, стилизовав только основные теги: h1 ... h6, p и т. Д. ... но это было бы не так хорошо и, вероятно, иногда не давало бы лучших результатов и даже приводило к ужасным вещам время от времени.

если вы ЗНАЕТЕ разметку сайта, вы можете создать скин и просто использовать CSS / изображения, чтобы оформить его так, как вы этого хотели.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...