![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tworze plik w XHTML 1.1. Jak odnieść się do mapy grafiki (<map>) za pomocą atrybutu usemap skoro nie wolno (według specyfikacji XHTML 1.1) używać w tym atrybucie znaku #.
Szukałem jakiegoś odpowiednika znaku # w znakach specjalnych, tak jak ma to miejsce np. w przypadku & = & . Niestety nic takiego nie znalazlem. -------------------- pozdrawiam, chfast
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tworze plik w XHTML 1.1. Jak odnieść się do mapy grafiki (<map>) za pomocą atrybutu usemap skoro nie wolno (według specyfikacji XHTML 1.1) używać w tym atrybucie znaku #.
Wolno używać i jest jak najbardziej dozwolony. Zgodnie ze specyfikacją XHTML 1.1 nie można używać atrybutu name, należy go zastąpić atrybutem id... Poprawny zapis przykładowo wygląda tak: Mapa: Kod <map id="moja_mapa">...</map>
Wywołanie (dla img, input, object): Kod <img src="obraz.jpg" usemap="#moja_mapa" />
-------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wolno używać i jest jak najbardziej dozwolony.
Moge się zgodzić, że specyfikacja XHTML 1.1 nic nie wspomina o tym, że znak '#' jest niedozwolony w atrybucie usemap. Ale już przy walidacji dokumentu otrzymujemy błąd: Cytat Line 52, column 86: character "#" is not allowed in the value of attribute "usemap"
...mages/logo_group.jpg" alt="" usemap="#logo_group"/></td> Jednocześnie pojawia się błąd odwołania do nieistniejącej mapy: Cytat Line 52, column 86: reference to non-existent ID "#logo_group"
...mages/logo_group.jpg" alt="" usemap="#logo_group"/></td> Idąc dalej, kiedy zapiszemy dowołanie do mapy bez znaku '#' (czyli np. id="map1" ; usemap="map1") to walidator stwierdza, że wszystko jest w porządku, dokument jest poprawny. Nie ma się jednak wcale z czego cieszyć, bo w takim przypadku przeglądarka (IE) nie radzi sobie z takim odniesieniem i mapa nie działa. Jeszcze może dodam, że używając XHTML 1.0 Strict można stosować znak '#' w usemap. -------------------- pozdrawiam, chfast
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 0 Dołączył: 17.06.2003 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Tak to prawda. W HTML 4.01 i XHTML 1.0 wartosc usemap byla CDATA a w XHTML 1.1 to jest juz IDREF.
W DTD mozemy przeczytac: Cytat 'usemap' points to the 'id' attribute of a <map> element,
which must be in the same document; support for external document maps was not widely supported in HTML and is eliminated in XHTML. It is considered an error for the element pointed to by a usemap IDREF to occur in anything but a <map> element. Mam nadzieje ze sie wyjasnilo. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 0 Dołączył: 17.06.2003 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Dla pewnosci dodam jak to powinno teraz byc zrobione.
Kod <map id="moja_mapa">...</map>
Kod <img src="obraz.jpg" usemap="moja_mapa" />
Czyli bez #. Acha i oczywiscie tylko w Mozilli to sie poprawnie wyswietla. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 10.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
A mi w mozilli juz to nie dziala ;] zdaje sie nigdzie juz tak nie pojdzie na nowych wersjach.
Rowniez mam problem z walidacja # i rowniez nie umiem sobie z nim poradzic. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:22 |