Отправляет email-рассылки с помощью сервиса Sendsay

[TC] ссылка на закладку на другой странице

Здравствуйте, уважаемые!

На страничке programs.htm сделал закладку перед заголовком "Раздел первый"
<a name="marker1"></a>
Затем на страничке index.htm сделал ссылочку на эту закладку
<a href="programs.htm#marker1"> Раздел первый </a>
Но вот беда, при нажатии на эту ссылочку попадаешь на начало странички
programs.htm, а не на заголовок "раздел первый".
Страничная же ссылка
<a href="#marker1"> Раздел первый </a> работает чудесненько!
Подскажите, пожалуйста, чего я делаю неправильно?

Заранее благодарен.
Грызунов Александр

Ответить   Wed, 3 Jan 2007 13:42:02 +0500 (#626110)

 

Ответы:

eastreb пишет:

У меня эта ссылка работает. Специально зашёл на вашу страницу и проверил.

Много чего! Зайдите по этому адресу и узнаете о своей странице много нового:

http://validator.w3.org/check?uri=http://eastreb.narod.ru/programs.htm

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

Программа tidy не сообщает об ошибках, зато выдаёт 52 предупреждения на
странице programs.htm. То есть, с точки зрения tidy проблемы не очень
значительные и поддаются исправлению. (Tidy, в отличие от валидатора,
пытается исправлять ошибки.) Но на них всё равно стоит обратить внимание.
Например, одно из предупреждений относится к анкеру, о котором вы
спрашивали:

line 109 column 1 - Warning: <a> cannot copy name attribute to id

Возможно, вам стоит заменить этот анкер на конструкцию вида

<h2 id="001">Диск с "говорящим" меню</h2>

и ещё раз попытать счастья со ссылкой. Если хотите, могу прислать вывод с
предупреждениями от tidy и исправленный вариант страницы. Исправляла
программа tidy. Не всё, правда, сделала идеально. Например, заменила пробел
между mailto: и вашим почтовым адресом на %20, надо было его вообще убрать.
Да и мусор, который у вас идёт после </html> не следовало бы переносить
внутрь документа.

Можно ещё добавить, что раз уж вы начали пользоваться таблицами стилей, то
лучше сделать отдельный файл eastreb.css и загружать его со страниц с
помощью элемента

<link rel="stylesheet" href="eastreb.css" type="text/css">

внутри <head>...</head> вместо того, чтобы вставлять таблицу стилей в каждую
страницу по отдельности.

Ответить   Дмитрий Падучих Wed, 03 Jan 2007 19:19:02 +0500 (#626186)

 

Hello, Дмитрий!
По теме "[TC] Re: ссылка на закладку на другой странице" мне есть что вам
сказать:

Попробовал у себя на сайте блох ловить.

You have used the attribute named above in your document, but the document
type you are using does not support that attribute for this element. This
error
is often caused by incorrect use of the "Strict" document type with a
document that uses frames (e.g. you must use the "Transitional" document
type to
get the "target" attribute), or by using vendor proprietary extensions such
as "marginheight" (this is usually fixed by using CSS to achieve the desired
effect instead).

И так почти на все ошибки. предполагаю, что не нравится ему то, что
расширение у файла dhtml, видимо при этом нужно учитывать какую-то свою
спецификацию *.xhtml документов. При этом обматерил все счетчики на корню!
:)
Странный этот валидатор, однако.

Будьте здоровы, Дмитрий!

Ответить   Wed, 3 Jan 2007 20:42:37 +0200 (#626250)

 

Serge Kolomeitsev пишет:

[...]

Он сообщает, что атрибут, который вы использовали, для данного элемента
(тега) не определен в том варианте HTML, на соответствие которому он
проверяет документ. Потом идут возможные причины, которые могли вызвать
ошибку. Например:

2. Error Line 15 column 13: there is no attribute "SRC".

<bgsound src="welcome.mid" loop="1">

Дальше всё, как у вас. Среди прочего написано, что ошибка может быть вызвана
тем, что сам тег не определен в данном варианте HTML. И далее:

4. Error Line 15 column 35: element "BGSOUND" undefined.

<bgsound src="welcome.mid" loop="1">

Точно, в HTML такого тега нет. Очевидно, это специфика IE. В данном случае
ничего страшного: если я правильно помню, W3C рекомендует разработчикам
браузеров просто игнорировать неизвестные теги. Так что те браузеры, которые
об этой примочке не знают, её просто проигнорируют. Но по крайней мере
валидатор об этом сообщит хотя бы на тот случай, если вы опечатались или не
знали, что bgsound в стандартном HTML нет.

Да нет. Тип документа он определяет не по расширению, а из объявления
doctype в начале документа. Перед результатами проверки он пишет кодировку и
doctype, которые определил. Если в документе нет объявления doctype, по
умолчанию используется HTML 4.01 Transitional:

No DOCTYPE found! Attempting validation with HTML 4.01 Transitional.

Бывает. Одна не очевидная, но распространённая ошибка связана с
использованием закрывающих тегов в JavaScript. У них об этом в FAQ написано.

Он не странный, просто он выполняет чётко определённую задачу - проверяет
документ на соответствие конкретному варианту HTML, как он определён в SGML
DTD. Проверкой синтаксиса JavaScript, CSS или ещё чего-нибудь он, насколько
мне известно, не занимается.

Ответить   Дмитрий Падучих Thu, 04 Jan 2007 07:06:23 +0500 (#626289)

 

Здравствуйте, Дмитрий.

Вы писали 3 января 2007 г., 22:19:02:

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

Ответить   Thu, 4 Jan 2007 16:01:54 +0800 (#626412)

 

Добрый день, Александр и все участники дискуссионного листа.
Original Message > Подскажите, пожалуйста, чего я делаю неправильно?

На сколько я помню страничные ссылки действуют только в пределах данной
веб-страницы. А вообще в объявлении строчных параметрах тегов html я бы
очень рекомендовал использовать символ (') (Апостроф), вместо кавычки.

Эдик. Новокузнецк.
winks***@r*****.ru

Ответить   Fri, 5 Jan 2007 01:01:46 +0700 (#626503)