- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Возникла следующая проблема.
Делаю сайт, верстка: XHTML + CSS. Использую в HEAD тэг base href с доменом сайта, чтобы было удобнее из разных разделов сайта ставить ссылки на страницы. Таким вот образом у меня например подключается и файлик с CSS стилями и путь к нему прописан соответственно /style/style.css. Все работает правильно, но, есть проблема - Internet Explorer 6.
Он все правильно подключает и отображает так же как и остальные браузеры. Но нельзя выделить какой то определенный кусочек текста для копирования в IE 6. Можно только выделять сразу весь блок с контентом или же блок с навигацией, что не очень удобно, так как есть примеры кода для копирования.
Методом научного тыка (c) я нашел несколько путей решения проблемы, но они меня не очень устраивают:
1. Нужно убрать base href и прописывать полность все ссылки в том числе и http://site.ru/style/style.css по всем страницам сайта, что для меня есть плохо
2. Убрать !DOCTYPE - так тоже все работает нормально во всех браузерах. Какой !DOCTYPE точно не помню. Обычный XHTML 1.0 Transitional ну и плюс там ниже какой то <xmlns. Короче все сайты такой используют =) Убирать !DOCTYPE, понятное дело, неправильно.
3. Еще один вариант - писать не base href, а basehref, то-есть слитно. Все работает прекрасно во всех браузерах, но насколько я знаю это неправильно с точки зрения XHTML. Поэтому использовать его я тоже не хочу.
4. Последний вариант - забить на IE, но 50% посетителей все таки пока что пользуются именно этим браузером и мне не хочется создавать этим пользователям неудобства.
Кто сталкивался с подобной проблемой или просто есть предположения что можно сделать - посоветуйте пожалуйста.
Спасибо
А зачем вам base href для указания пути к CSS?
Если у вас CSS-файл лежит в http://example.com/style/style.css, то вы можете указывать точно так же путь /style/style.css
Оно то так, но просто так ведь удобнее ссылки проставлять и пути к файлам, сразу от корня сайта. Получается везде одинаковый путь к файлам и страницам. IE 6 как то неправильно реагирует на base href, хотя когда писать слитно basehref, то нормально все, но это неправильно.
Я нашел еще один вариант решения проблемы - условные комментарии :) вот пример:
<!--[if IE]><basehref="http://site.ru/" /><![endif]-->
<![if !IE]>
<base href="http://site.ru/" />
<![endif]>
Как видите блок для ИЕ выглядит как обычный комментарий и поисковики забьют на него, а второй base href роботы проиндексируют правильно и соответственно все страницы тоже.
В принципе этот вариант больше всего пока что подходит, но... у меня вся разметка документа соответствует XHTML 1.0 Strict и даже XHTML 1.1. С CSS тоже все ок. А если использовать условные комментарии, то валидатор ругается и, соответственно нужно использовать DOCTYPE не Strict, а Transitional - обидно :(
Проблема только с IE 6. Что можно сделать? Есть какой-нибудь CSS-атрибут, который позволяет сделать блок редактируемым или что-то типа этого? а то оно сразу всю колонку выделяет, а мне нужно чтобы хотя бы с блоками с примерами кода было все нормально, чтобы посетитель мог выделить только его и скопировать себе.
Придется перечитывать мануал по CSS 2 - может и найду решение проблемы. Если найду - обязательно отпишусь, мож кому тоже пригодится :) Иначе придется менять DOCTYPE на Transitional...
Ура! Нашел. Как и обещал пишу как решил проблему.
Люди советуют для base использовать закрывающий тэг. То-есть что-то типа:
<base href="http://www.site.ru/"></base>
Это 100% валидно даже в XHTML 1.0 Strict - тока что проверил. Дома попробую испытать это на IE 6, но раз уж у людей все нормально, то и у меня тоже будет так же.
Ну вот, и сам узнал как пофиксить этот баг и может кому то пригодится :)
Теперь у меня 100% валидная XHTML 1.0 Strict и XHTML 1.1 разметка.
И не верьте людям которые используют Transitional DOCTYPE и говорят что не все браузеры Strict поддерживают. Если захотеть, то можно найти решение проблемы и написать полностью валидную разметку, соответствующую XHTML Strict 😎
Всем спасибо за внимание. Проблема решена
lalala2007, молодец, но в твоем случае бэйс лишний всё равно)
2 Ткач
Почему лишний?
Так я прописал себе Base с доменом сайта и могу и на главной странице, и на странице, которая находится, например, в папочке articles обратиться к файлу со стилями одинаково /style/style.css, в не зависимости от того где находится сама HTML-страница. Иначе мне пришлось бы писать что-то типа ../style/style.css или вообще http://site.ru/style/style.css. То же самое относится к картинкам и прочим файлам.
Мне кажется, что мой вариант самый лучший. Ведь мне не надо задумываться на какой странице я нахожусь и в соответствии этому прописывать разные пути к файлу.
Или хочешь сказать что я зря столько мучался с base тэгом, чтобы вот так просто отказаться от своей затеи? 😎
Если ты пользуешься каким то другим способом и считаешь что он лучше чем base href, то аргументируй, пожалуйста :)
Так я прописал себе Base с доменом сайта и могу и на главной странице, и на странице, которая находится, например, в папочке articles обратиться к файлу со стилями одинаково /style/style.css, в не зависимости от того где находится сама HTML-страница.
Точно так же можете обратиться и не указывая base href, если /style/style.css находится в корне сайта. Попробуйте.
Точно так же можете обратиться и не указывая base href, если /style/style.css находится в корне сайта. Попробуйте.
если с главной страницы, то так и будет. а если посетитель будет находиться например на странице /articles/article1.html, то тогда файл со стилями надо подключать уже так ../style/style.css То же самое относится и к страницам. Если просто указать /articles/article2.html со страницы article1.html то получится что при клике юзер перейдет на /articles/articles/article2.html, которой не существует. Разве не так?
Если в урле указать "/style/style.css" с главной или со страницы "articles/article.html" то в обоих случаях это будет:
http://yoursite.ru/style/style.css
Т.к. предваряющий слэш обозначает корень сайта.
да? просто я без слэша всегда делал. что ж, попробую - спасибо за совет ;)