Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > <BASE> против локальных #закладок


Автор: skyboy 31.1.2009, 14:41
имею сайт. например, "mysite". 
сайт лежит не в корне DOCUMENT_ROOT, потому ссылки вида "/images/some.gif" приводят не к "domain/mysite/images/some.gif", а к "domain/images/some.gif", что недопустимо.
кроме того, имею ЧПУ. потому ссылки "images/some.gif" на странице "domain/mysite/page1" и на странице "domain/mysite/page2" будут вести на несуществующий ресурс.
вставил <base href="domain/mysite"> и все было бы нормально, но, как оказалось, <base> влияет и на хеш-составляющую адреса.
Т.е. если у меня на странице "domain/mysite/page1" есть ссылка "#news123", то при переходе по ссылке я буду попадать не на "domain/mysite/page1#news123", а на "domain/mysite/#news123".
Вроде как и логично(с технической точки зрения - все неабсолютные URL переводятся в абсолютные с учетом <base>), но непонятно: явно локальная закладка(без указания пути вообще) становится нелокальной.
Можно ли как-то, используя <base>, работать с закладками?

Автор: webster 31.1.2009, 23:56
http://www.velocityreviews.com/forums/t161144-base-attribute-to-ignore-anchor-links.html говорится о том, что:
Код

Everything after the last "/" character in
the href attribute of a base element is ignored
Что все символы после последнего символа "/" игнорируются в теге <base ... >. (исправлено, был несовсем корректный перевод)
Также http://www.ilikespam.com/blog/using-base-href-with-anchors корректный путь решения подобной проблемы:
Код

Broken: ... #anchor ... http://www.example.com/app#anchor 

Corrected: ... page#anchor ... http://www.example.com/app/page#anchor 

Автор: skyboy 1.2.2009, 00:05
Цитата(webster @  31.1.2009,  22:56 Найти цитируемый пост)
Что последний символ "/" игнорируется в теге <base ... >.

ну, не совсем. там говорится, что все после последнего "/", а сам слеш не игнорируется. но в любом случае, мое проблема не в этом и мне жаль, если своим некорректным упущением("domain/mysite") привел к неверному заключению.
насчет предложенного решения: page - в моем случае - index.php?<немало параметров>. в принципе, мне уже и аюсолютный URL не сложно будет сформировать. 
впрочем, придется остановиться на этом варианте, так как вариант с javascript исключается - использую библиотеки UI, которые отталкиваются от значения хеша и javascript сделает их нерабочими.
спасибо, думал есть значение попроще.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)