Сервлеты и как указать абсолютный путь в css?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 06.04.09 15:34
Оценка:
Есть чертов IE, который думает, что в некоторых случаях в css относительные пути задаются не относительно местоположения самого стиля, то есть файла css, а относительно страницы, на которой он используется. В стилях прописываются картинки прочая, которые, естественно, лежат в одном месте — каталоге /myWebApp/images/.
Есть ли у сервлетов механизм подмены каким-либо образом указанных меток на {contextPath} или корень приложения? Если не ошибаюсь, в ASP.NET можно указать ~/, который при отдаче клиенту автоматически заменяется на абсолютный путь. Вот что-то подобное у сервлетов или сервлет-контейнеров имеется? Как можно бороться с захардкоженными абсолютными путями в css?
css ie servlet
Re: Сервлеты и как указать абсолютный путь в css?
От: pvnic  
Дата: 08.04.09 03:07
Оценка:
Здравствуйте, Donz, Вы писали:

D>Есть чертов IE, который думает, что в некоторых случаях в css относительные пути задаются не относительно местоположения самого стиля, то есть файла css, а относительно страницы, на которой он используется. В стилях прописываются картинки прочая, которые, естественно, лежат в одном месте — каталоге /myWebApp/images/.

D>Есть ли у сервлетов механизм подмены каким-либо образом указанных меток на {contextPath} или корень приложения? Если не ошибаюсь, в ASP.NET можно указать ~/, который при отдаче клиенту автоматически заменяется на абсолютный путь. Вот что-то подобное у сервлетов или сервлет-контейнеров имеется? Как можно бороться с захардкоженными абсолютными путями в css?

достаточно абсолютный путь указать у css.
Re: Сервлеты и как указать абсолютный путь в css?
От: Sinclair Россия https://github.com/evilguest/
Дата: 08.04.09 04:37
Оценка:
Здравствуйте, Donz, Вы писали:

D>Есть чертов IE, который думает, что в некоторых случаях в css относительные пути задаются не относительно местоположения самого стиля, то есть файла css, а относительно страницы, на которой он используется.

А можно пример? Есть мнение, что в css пути всегда задаются только относительно него же, а вы имеете в виду что-то совсем другое.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Сервлеты и как указать абсолютный путь в css?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 08.04.09 08:42
Оценка: 78 (2)
Здравствуйте, Sinclair, Вы писали:

D>>Есть чертов IE, который думает, что в некоторых случаях в css относительные пути задаются не относительно местоположения самого стиля, то есть файла css, а относительно страницы, на которой он используется.

S>А можно пример? Есть мнение, что в css пути всегда задаются только относительно него же, а вы имеете в виду что-то совсем другое.

Да, по спецификации именно так, но IE относительно behavior думает, что там путь задается относительно страницы, на которой применяется css.
Вот, например, обсуждение: http://www.gotdotnet.ru/Forums/Web/545288.aspx.
Конкретно в моем проекте это

body {
    behavior: url("/office/hover.htc");
    background: #ffffff;
    font: 8px Arial;
    color: Black;
    margin: 0px 0px 0px 0px;
    font-weight: normal;
}

Относительный путь для hover.htc не работает (а сам hover.htc нужен опять же только для IE, но уже из-за другого его бага).
В теме по ссылке как раз и предлагается использовать ~/ в asp.net. А как быть сервлетчикам?
Re[2]: Сервлеты и как указать абсолютный путь в css?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 08.04.09 08:49
Оценка:
Здравствуйте, pvnic, Вы писали:

P> достаточно абсолютный путь указать у css.

Абсолютный путь не подходит, так как приложение может быть развернуто под разным контекстным путем. Да и вообще абсолютных путей лучше избегать, но конкретно в моем случае это обязательное условие.
Re[3]: Сервлеты и как указать абсолютный путь в css?
От: . Великобритания  
Дата: 08.04.09 09:12
Оценка:
Donz wrote:

> behavior: url("/office/hover.htc");

Эта бага происходит только с behavior. Я behavior с нужным префиксом пути ложил прямо в html, в <style>-тег, а не в css-файл.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: Сервлеты и как указать абсолютный путь в css?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 08.04.09 09:27
Оценка:
Здравствуйте, ., Вы писали:

>> behavior: url("/office/hover.htc");

.>Эта бага происходит только с behavior. Я behavior с нужным префиксом пути ложил прямо в html, в <style>-тег, а не в css-файл.

Смысл стилей тогда теряется. Этот hover.htc нужен на нескольких десятках страниц
Re[5]: Сервлеты и как указать абсолютный путь в css?
От: . Великобритания  
Дата: 08.04.09 11:33
Оценка:
Donz wrote:

> Смысл стилей тогда теряется. Этот hover.htc нужен на нескольких десятках

> страниц
Ээээ. Так ты хедер сделай одинаковый везде. Хотя я не знаю как у тебя страницы формируются.
А вообще, нафиг забей на этот hover. IE7 уже поддерживает (в standard mode), а IE6 уже почти никто не использует; сайт нужно делать юзабельныи и без hover.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: Сервлеты и как указать абсолютный путь в css?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 08.04.09 13:36
Оценка:
Здравствуйте, ., Вы писали:

>> Смысл стилей тогда теряется. Этот hover.htc нужен на нескольких десятках

>> страниц
.>Ээээ. Так ты хедер сделай одинаковый везде. Хотя я не знаю как у тебя страницы формируются.

Не очень понял. Я, если честно, не верстальщик, но так как занимаюсь веб-проектом, то некоторые базовые (или совсем базовые) знания присутствуют. В общем, строго не судить
Ты предлагаешь задать одинаковый хедер (имеется в виду заголовок страницы, правильно?) с указанием пути до htc-файла? Это как раз значит заниматься копипастом, получается, так как они будут отличаться только этим самым путем? Или имеешь в виду, что общий для всех хидер можно проинклудить в страницу, и он будет содержать ссылку на htc через абсолютный путь, который в данном случае уже можно будет высчитать через использование переменной ${contextPath}?

.>А вообще, нафиг забей на этот hover. IE7 уже поддерживает (в standard mode), а IE6 уже почти никто не использует; сайт нужно делать юзабельныи и без hover.

htc'шки нужны не только для для всплывающей подсказки, но и для полупрозрачности в png. Насчет IE6 никто не использует — это несколько преувеличенно У меня как раз основным браузером должна являться шестерка.
Re[7]: Сервлеты и как указать абсолютный путь в css?
От: . Великобритания  
Дата: 08.04.09 14:29
Оценка: 18 (1)
Donz wrote:

> Ты предлагаешь задать одинаковый хедер (имеется в виду заголовок

> страницы, правильно?) с указанием пути до htc-файла? Это как раз значит
Да, <head>-тег.

> заниматься копипастом, получается, так как они будут отличаться только

> этим самым путем? Или имеешь в виду, что общий для всех хидер можно
> проинклудить в страницу, и он будет содержать ссылку на htc через
> абсолютный путь, который в данном случае уже можно будет высчитать через
> использование переменной ${contextPath}?
Да. В том смысле, что <style>body{behavior:url(${contextPath}/hover.htc)}</style> будет в одном месте исходника.
По-моему это самый безгеморройный вариант.

> htc'шки нужны не только для для всплывающей подсказки, но и для

> полупрозрачности в png. Насчет IE6 никто не использует — это несколько
> преувеличенно У меня как раз основным браузером должна являться шестерка.
Эх... не повезло.
Вроде уж IE8 на дворе, не говоря уж об альтернативных браузерах...
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[8]: Сервлеты и как указать абсолютный путь в css?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 08.04.09 16:23
Оценка:
Здравствуйте, ., Вы писали:

>> заниматься копипастом, получается, так как они будут отличаться только

>> этим самым путем? Или имеешь в виду, что общий для всех хидер можно
>> проинклудить в страницу, и он будет содержать ссылку на htc через
>> абсолютный путь, который в данном случае уже можно будет высчитать через
>> использование переменной ${contextPath}?
.>Да. В том смысле, что <style>body{behavior:url(${contextPath}/hover.htc)}</style> будет в одном месте исходника.
.>По-моему это самый безгеморройный вариант.

Спасибо, то, что нужно!
Re[9]: Сервлеты и как указать абсолютный путь в css?
От: . Великобритания  
Дата: 08.04.09 17:29
Оценка: 6 (1)
Donz wrote:

> <style>body{behavior:url(${contextPath}/hover.htc)}</style> будет в

>
> Спасибо, то, что нужно!
И ещё желательно обернуть в
[html]
<!--[if lt IE 6]>
...
<![endif]-->
[/html]

А то вроде бывает так, что настройки браузера странные или антивирус какой-нибудь идиотский, и htc вызывает ошибку, хотя IE7 и без него хорошо работает. А может и не бывает , но вроде нам один такой юзер жаловался... но может мы не правильно проблему диагностировали.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.