Deutsch

LINK href=...

769  1 2 все
Murr коренной житель07.06.10 16:30
Murr
07.06.10 16:30 
Это опять Я со своими глупыми вопросиками...
Все мы (ну за исключением самых бестолковых) знаем, что Каскадные Стили лучше всего хранить в отдельном файлике.
Ну скажем вот так:
В ответ на:
<LINK REL="stylesheet" HREF="CSS/MyCss.css" TYPE="text/css">

Реально у меня в этом файлике лежит бекгроунд для странички - небольшая картинка, множащаяся до заполнения странцы. Сделано для меньшения нагрузки на (мои) глаза.
Пока этот файлик один... или их с десяток-другой в одной папке - проблем нет.
Однако, если его надо перенести в подпапочку, то линк надо слегка отредактировать.
Вот так, например:
В ответ на:
<LINK REL="stylesheet" HREF="../CSS/MyCss.css" TYPE="text/css">

Еще один уровень папочек -
В ответ на:
<LINK REL="stylesheet" HREF="../../CSS/MyCss.css" TYPE="text/css">

У меня папочек набирается примерно полтора десятка уровней.
Соответственно, LINK превращается в достаточно кошмарню штуку.
Дополнительно, файлики реглярно перекидываются выше/ниже...
Возможные варианты относительных путей Я уже перебрал - корректно работает только приведенный.
Можно, разумеется, сделать что-то типа:
В ответ на:
<LINK REL="stylesheet" HREF="http://localhost/MyCss/CSS/MyCss.css" TYPE="text/css">

но это требет привязки к веб-серверу, что на сегодня есть весьма не желательно.
Так же не желательно давать абсолютный - href=file://... - путь к файлу - диск-диск тоже случается.
Вопросик такой - Есть ли трюк, позволяющий иметь постоянный, безотносительный, href, при относительном положении страницы?
#1 
gendy Dinosaur07.06.10 17:12
gendy
NEW 07.06.10 17:12 
в ответ Murr 07.06.10 16:30
если страница создаётся динамически, в чём проблема через скрипт передавать актуальный адрес из константы в конфигфайле или его рассчитывать?

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#2 
katran76 коренной житель07.06.10 17:14
NEW 07.06.10 17:14 
в ответ Murr 07.06.10 16:30
В ответ на:
HREF="http://localhost/MyCss/CSS/MyCss.css"
но это требет привязки к веб-серверу, что на сегодня есть весьма не желательно.

можно ещё привязать к руту веб-сервера (исчезает зависимость от "http://bla.bla.bla")
HREF="/MyCss/CSS/MyCss.css"


#3 
Murr коренной житель07.06.10 17:30
Murr
NEW 07.06.10 17:30 
в ответ gendy 07.06.10 17:12
если страница создаётся динамически
-----
Какой движек создает динамические страницы без использования IIS?
Вариант с использованием - уже рассмотрел, если не будет другого
- использую.
Страницы - статические. Страниц - много. Лежат на локальном диске.
Содержание - описание содержания конкретной папки ReadM.html.
Плюс - возможность бегать туда-сюда по проектам.
Все очень динамичное и часто меняющееся.
через скрипт передавать актуальный адрес из константы в конфигфайле
или его рассчитывать?
-----
Бррр... это Я представил этот геморой...
Виртуальная директория на IIS и все линки на нее - ничего считать не
надо.
Что надо - надо помнить, что эта директория должна быть и что IIS
должен работать... На всех 10-15 использемых осях...
Правда Я пока плохо представляют *.BAT, который сможет это фиксить,
а руками делать не хочется.
#4 
Murr коренной житель07.06.10 17:37
Murr
NEW 07.06.10 17:37 
в ответ katran76 07.06.10 17:14
HREF="/MyCss/CSS/MyCss.css"
-----
Это уже теплее. Правда есть два НО.
Первое - требуется IIS.
Второе - документы грузятся напрямую с диска (не по HTTP, а по FILE) и привязка (у меня) происходит относительно положения документа на диске.
#5 
Poiser знакомое лицо07.06.10 17:47
Poiser
NEW 07.06.10 17:47 
в ответ Murr 07.06.10 17:37
Если у вас всё так сложно, то что мешает выложить файл CSS в сеть (локальную или интернет) и прописывать путь к нему как http://myhost.de/css/style.css ??
Создание сайтов, онлайн-магазинов в Германии
#6 
Murr коренной житель07.06.10 18:01
Murr
NEW 07.06.10 18:01 
в ответ Poiser 07.06.10 17:47
в сеть
-----
У меня не всегда есть сеть.
Даже не всегда есть адаптер 127.0.0.1, чтобы запустить хоть что-то...
Собственно по-этому и возник вопрос - локальные файлы, полчаемые по клику на них и непостоянный LINK href=...
Одно успокаивает - большой проблемы при незагрженном CSS не будет. Читать будет не так удобно, но не смертельно...
#7 
Poiser знакомое лицо07.06.10 18:09
Poiser
NEW 07.06.10 18:09 
в ответ Murr 07.06.10 18:01
Тогда просто не используйте CSS пишите всё так через аттрибут style="тут ваши цсс", если конечно как вы говорите используется CSS мало.
Создание сайтов, онлайн-магазинов в Германии
#8 
Oleg.de старожил07.06.10 18:11
Oleg.de
NEW 07.06.10 18:11 
в ответ Murr 07.06.10 18:01
Ничего вам не сделать на локалке и без настроенного сервера :-)
Ставьте нормальный эдитор типа Dreamviewera он сам за вас все пути будет в файлах менять и следить за переносом файлов :-)))
О Германии на русском: Законы, карьера, общество ...
#9 
project33 старожил07.06.10 18:13
project33
NEW 07.06.10 18:13 
в ответ Murr 07.06.10 16:30
можно добавить яваскрипт, который находит текущий путь (window.location), парсит его, выделяет относительный путь и динамически подключает css
Продвижение сайтов, реклама: https://www.pro33.net
#10 
Oleg.de старожил07.06.10 18:20
Oleg.de
NEW 07.06.10 18:20 
в ответ project33 07.06.10 18:13
В ответ на:
можно добавить яваскрипт, который находит текущий путь (window.location), парсит его, выделяет относительный путь и динамически подключает css

??? можно поподробней ???
О Германии на русском: Законы, карьера, общество ...
#11 
project33 старожил07.06.10 18:28
project33
NEW 07.06.10 18:28 
в ответ Oleg.de 07.06.10 18:20
можно. находим путь через window.location. например file:///C:/odner1/ordner2/ordner3/file.htm. Считаем слеши - 7 штук. Убираем лишние, остаются 3. Создаем строчку var style="../../../style.css". Добавляем динамический стиль например так
var st = document.createElement("link");
st.setAttribute("rel","stylesheet");
st.setAttribute("href",style);
document.body.appendChild(st);
ну это все чисто теория, поскольку реально легче засунуть сам стиль тегами <style></style>
Продвижение сайтов, реклама: https://www.pro33.net
#12 
Oleg.de старожил07.06.10 18:32
Oleg.de
NEW 07.06.10 18:32 
в ответ project33 07.06.10 18:28
В ответ на:
Считаем слеши - 7 штук.

В ответ на:
У меня папочек набирается примерно полтора десятка уровней.

Я так понимаю, что автору надо будет в каждой папке считать слеши :-))))
О Германии на русском: Законы, карьера, общество ...
#13 
Murr коренной житель07.06.10 18:34
Murr
NEW 07.06.10 18:34 
в ответ project33 07.06.10 18:13
можно добавить яваскрипт, который находит текущий путь (window.location),
парсит его, выделяет относительный путь и динамически подключает css
-----
Можно. Правда есть ньюансик.
Путь к файлу выглядит нормально. Например так:
В ответ на:
F:\Projects\blax\blax...(тут еще 10 blax)...blax\ReadMe.html

Завтра будет загружена другая система и путь будет:
В ответ на:
H:\Projects\blax\blax...(тут еще 10 blax)...blax\ReadMe.html

Дополнительно при этом место размещения CSS поменяется (условно) с
диска P: на R: с постоянным (тем же) путем.
Т.е. чтобы Я не писал - нужна какая-то внешняя точка привязки и жабий скрипт ее не
получит (файловые операции ему по понятным причинам запрещены), как бы Я не
извращался...
#14 
project33 старожил07.06.10 18:34
project33
NEW 07.06.10 18:34 
в ответ Oleg.de 07.06.10 18:32
я не говорил что считать слеши нужно вручную, для этого пишется парсер
Продвижение сайтов, реклама: https://www.pro33.net
#15 
project33 старожил07.06.10 18:35
project33
NEW 07.06.10 18:35 
в ответ Murr 07.06.10 18:34
имя диска роли не играет. путь считается назад от документа
Продвижение сайтов, реклама: https://www.pro33.net
#16 
Murr коренной житель07.06.10 18:42
Murr
NEW 07.06.10 18:42 
в ответ Oleg.de 07.06.10 18:11
Ничего вам не сделать на локалке и без настроенного сервера
-----
Ну сейчас же работает. :) Правда редактирование довольно неприятное...
эдитор типа Dreamviewera он сам за вас
-----
Хи-хи...
Для любителей Дримвьювера у меня есть другой вопросик.
Вот с этим разберусь - тогда задам его и посмотрим как это получится.
Могу сказать, что связано все будет с динамическим отображением разношерстых
данных увязанных где-то в базе в древовидную структуру...
#17 
Murr коренной житель07.06.10 18:57
Murr
NEW 07.06.10 18:57 
в ответ project33 07.06.10 18:35
путь считается назад от документа
-----
У меня сейчас так и происходит. Руками, правда.
имя диска роли не играет.
------
Только в пределах одного диска.
Но! Ты не обратил внимание - стили могут лежать на другом диске и он тоже
меняется и это не зависит от меня.
Если бы не это, то нично не мешает писать href="file://R:/blax/blax/MyCss.css"
В принципе, Я, наверное, так и сделаю, добавив в AUTOEXEC какой-нибудь SUBST
на нужную папку... Редактировать ручками, но не так много... Остается только не
забыть... лет через пять... как сделано...
Можно еще продублировать CSS на каждом диске... но это не вариант - много
менять при изменениях...
#18 
Murr коренной житель07.06.10 19:02
Murr
NEW 07.06.10 19:02 
в ответ Poiser 07.06.10 18:09
пишите всё так через аттрибут style
-----
Плс, - вторая строка первого поста - именно файловый CSS.
Я тут поменял все LINK'и в своих ReadMe.html - полчаса.
Если менять встроенный CSS - ну его вообще нафиг...
Самая неприятная для меня работа - делать много, результата - ноль...
#19 
Poiser знакомое лицо07.06.10 19:18
Poiser
NEW 07.06.10 19:18 
в ответ Murr 07.06.10 19:02
На мой взгляд тут ошибка на стадии концепта, т.е. вам нужен более системный подход
1. анализ задач
2. анализ способов решения
3. выбор средств
Если вы действительно имеете только локальные папки, и хотите обходится только ими, то тогда пишите утилиту которая с использованием регулярных выражений будет вам всё корректно править :) обходить рекурсивно папочки, находить там нужный html файл и проверять корректность пути к css файлу. Вопрос как всегда в эффективности и затратах на доп. телодвижения
Создание сайтов, онлайн-магазинов в Германии
#20 
Murr коренной житель07.06.10 19:29
Murr
NEW 07.06.10 19:29 
в ответ Poiser 07.06.10 19:18
1. анализ задачи
-----
Сделано.
2. анализ способов решения
-----
Сейчас тут и делается. Толпой, бо, Я мог чего-то упустить.
3. выбор средств
-----
По резльтатам.
и хотите обходится только ими
-----
Хочу. Но не хочу писать не нужный код. В смысле - есть статический HTML - он им и останется.
И он не будет парсится и изменяться внешней утилитой - так Я, пожалуй, допишусь до того, что
тот же HTML будет загоняться вторым потоком в файл и жить с ним... А что? Удобно! Что бы не
делал - всегда на месте... И система позволяет... только вот нафиг не нужно. :)
То, что мне нужно - простой статический HTML, который Я часто редактирую и часто перемещаю.
Хотелось бы чтобы он оставался работоспособным относитально CSS незавимо от того, куда Я его
кину.
<--- nobody harmed in this action -->
#21 
voxel3d коренной житель07.06.10 19:43
voxel3d
NEW 07.06.10 19:43 
в ответ Murr 07.06.10 17:37
В ответ на:
Первое - требуется IIS.

И что?
В ответ на:
Второе - документы грузятся напрямую с диска (не по HTTP, а по FILE) и привязка (у меня) происходит относительно положения документа на диске.

Меняйте свою кривую привязку, делайте относительно рута вебсервера.
Dropbox - средство синхронизации и бэкапа файлов.
#22 
Murr коренной житель07.06.10 19:51
Murr
NEW 07.06.10 19:51 
в ответ voxel3d 07.06.10 19:43
И что?
-----
Рано или поздно возникнет вопрос как его запустить при отсутствии сети.
#23 
project33 старожил07.06.10 21:38
project33
NEW 07.06.10 21:38 
в ответ Murr 07.06.10 18:57
ну естественно, это не решение на случай когда файл со стилями неизвестно где и неизвестно есть ли он вообще. в остальных случаях он весьма жизнеспособен
Продвижение сайтов, реклама: https://www.pro33.net
#24 
Murr коренной житель07.06.10 23:45
Murr
NEW 07.06.10 23:45 
в ответ project33 07.06.10 21:38
на случай когда
-----
Частично-работающие решения - есть.
Основная проблема - надо помнить как сделано в каждом конкретном случае.
По крайней мере у меня - это проблема, ибо уже несколько раз, после нескольких
лет эксплуатации и падения системы, случалось сидеть и смотреть не понимая
как оно работает. Даже описалово не всегда помогает.
Пока решил не заморачиваться с жаба-скриптами... бо, либо их надо внедрять
во все страницы, либо надо решать аналогичную проблему с размещением
скрипта.
Остановился на версии с вэб-сервером - href='http//localhost/...'
Ссылку от корня веб-сервера не использую - файлы берутся с диска и она не
работает.
Теперь второй вопросик. На сей раз к знатокам конфигурирования IIS.
Вопрос - снова глупый - Как создать виртуальный каталог для IIS?
Понятно, что - Старт - Контрол Панел и етц... Так все создается без проблем.
Интересует - как сделать тоже самое из командной строки?
Думаю, что должно быть достпно через закачку чего-то в реестр...
#25 
project33 старожил07.06.10 23:49
project33
NEW 07.06.10 23:49 
в ответ Murr 07.06.10 23:45
В ответ на:
Остановился на версии с вэб-сервером

думаю субст сработал бы не хуже
Продвижение сайтов, реклама: https://www.pro33.net
#26 
Валидол местный житель07.06.10 23:54
NEW 07.06.10 23:54 
в ответ Murr 07.06.10 23:45
кстати о ISS сори
он бесплатен? где взять?
#27 
Poiser знакомое лицо08.06.10 00:37
Poiser
NEW 08.06.10 00:37 
в ответ Валидол 07.06.10 23:54
Правильно это называется IIS и он всегда был бесплатной составной частью Windows (правда не всех версий, начиная Professional). Сейчас есть очень удобный инсталятор, который легко позволяет добавить например поддержку PHP и т.п. Название щас не помню, могу утром кинуть ссылку
Создание сайтов, онлайн-магазинов в Германии
#28 
Валидол местный житель08.06.10 00:47
NEW 08.06.10 00:47 
в ответ Poiser 08.06.10 00:37
В ответ на:
Правильно это называется IIS

Aga, Опечатался. На Win 2k он у в дистре был. а где сейчас его люди берут, без понятия )
#29 
Murr коренной житель08.06.10 13:58
Murr
NEW 08.06.10 13:58 
в ответ Валидол 08.06.10 00:47
Идет в комплекте.
До NT4 и Win98 включительно был отдельный пакет, в состав которого он входил.
#30 
Poiser знакомое лицо08.06.10 14:13
Poiser
NEW 08.06.10 14:13 
в ответ Валидол 08.06.10 00:47
Вот, как и обещал - Microsoft Web Platform Installer 2.0 http://www.microsoft.com/web/downloads/platform.aspx
Очень удобно если вы работаете под Windows, и хотите протестировать например Joomla, не нужно ставить никаких XAMMP и т.п. достаточно просто установить поддержку PHP для IIS (что-то порядка пары мегабайт)
Создание сайтов, онлайн-магазинов в Германии
#31 
Валидол местный житель08.06.10 14:28
NEW 08.06.10 14:28 
в ответ Poiser 08.06.10 14:13
Спасибо. Сохраню.
..
У меня никогда не было Хаммпа или деневера, Но всегда апач + php+ mysql отдельными пакетами установлен.
#32 
Валидол местный житель08.06.10 14:29
NEW 08.06.10 14:29 
в ответ Murr 08.06.10 13:58
в комплекте с чем?
VisualStudio?
#33 
Murr коренной житель08.06.10 14:47
Murr
NEW 08.06.10 14:47 
в ответ Валидол 08.06.10 14:29, Последний раз изменено 08.06.10 14:51 (Murr)
C Windows.
Билли слепил что-то, работающее через IIS, Кажется - справочную систему - пришлось включать в комплект...
Со Студией, однако, он дает еще одну версию - для отладки, сажаемую на произвольный порт ...
#34 
  malin-ka прохожий09.06.10 23:32
NEW 09.06.10 23:32 
в ответ Murr 07.06.10 16:30
Murr коренной житель10.06.10 00:14
Murr
NEW 10.06.10 00:14 
в ответ malin-ka 09.06.10 23:32
CHM HTML Help Files - далеко не единственный поддерживаемый формат.
К тому же, насколько Я помню, в какой-то версии билли просто отказался
его поддерживать - нужно было искать запихивать в систему какие-то либы...
ЗЫ. Основной вопрос был не по HELPам...
#36 
1 2 все