Ostatnio zaczelem sie bawic w HTML, na razie to czysta amatorszczyzna ;-)... No coz, przynajmniej zdaje sobie sprawe ze standardow W3C :>
Stworzylem sobie stronke z trzema ramkami. W srodkowej z nich sa wyswietlane obrazki zapisane na moim kompie... a przynajmniej powinny byc bo Opera uparcie odmawia ukazania ich swiatu. Znaczniki majamniej wiecej taki wyglad:
<img src="" height="100" width="100"/>
Opera zdaje sobie sprawe z ich istnienia, bo jak sprawdze wlasciwosci obrazka (klikam w puste miejsce, w ktorym powinien byc obrazek), to podaje mi jego rozmiar, typ, wielkosc pliku, i jak klikne "Otworz obrazek" to pokazuje mi go w jego normalnej wielkosci w nowej zakladce. Jak zapisze glowna ramke do pliku i otworze w Operze to obrazki juz sa pokazywane...
Taki IE nie ma problemow z pokazywaniem obrazkow...
Tak wiec.. co robie zle?
Nie używaj pełnych ścierzek, tylko względnych. Przecież jakbyś chciał później umieścić taką stronę w internecie, to inni nie będą mieli dostępu do Twojego dysku.
Np. tam gdzie masz plik html, do tego samego folderu wrzuć obrazki i zamiast
<img src="" height="100" width="100"/>
daj po prostu:
<img src="info.jpeg" height="100" width="100"/>
Musisz podać względną ścieżkę dostępu.
Jeśli, dajmy na to, masz plik index.htm w katalogu c:/img/
to kod powinien wyglądać tak:
<img src="info.jpeg" height="100" width="100"/>
Jeśli masz w katalogu C: to tak:
<img src="img/info.jpeg" height="100" width="100"/>
Nie stosuj bezwzględnych ścieżek, bo po wrzuceniu na serwer nic ci się nie wyświetli.
Poczytaj tutaj:
http://kurshtml.boo.pl/html/zielony.html#wstawienie_obrazka
Edit: Jakub81 mnie wyprzedził
No wiem, ze tak sie nie powinno robic ;-). Po prostu w trakcie zabawy HTML napotkalem na takie dziwne zachowanie sie Opery. Jestem ciekaw, czym to jest spowodowane (nie wyswietla obrazkow, jesli ramka jest czescia strony, a wyswietla, jesli jest zaladowana sama ramka...)
Być może wynika to ze skrótu pliku, zmień nazwę pliku z "info.jpeg" na "info.jpg" (bez e) i tak samo w kodzie strony.
Nikt się nie kwapi ... to może ja coś powiem.
Żeby Opera wyświetlała ten obrazek musi mieć w adresie
localhost/C:/img/info.jpeg
Rzeczywiście IE jest obojętne opera jednak tego wymaga.
Ale generalnie jest to tylko info dlaczego Opera tego nie wyświetla.
W prawdziwej stronie w rachubę wchodzą scieżki względne bądź bezwzgledne (*!!!)
(*!!!) ale tylko w odniesieniu do adresów internetowych - podajesz rzeczywisty adres jakiegoś zdjecia na serwerze np: http://my.opera.com/forums/avatar.php?userid=19875&dateline=1058910405 To adres mojego avataru który jest na serwerze Opery. Tak można się podlinkowac do obrazków i to jest ścieżka bezwzględna.
Pozdrawiam
Zbyszek
[OT] Żarcik
Ultrazbig napisał(a)
W prawdziwej stronie w rachubę wchodzą scieżki względne bądź bezwzgledne (*!!!)
Względny spokój na bezwzględnej ścieżce, aż tu nagle bezwzględny oprawca...
Jeszcze jedna uwaga: jeżeli strona już znajduje się w Internecie (nie na Twoim dysku; przez protokół http:// a nie ) to Opera nigdy nie wyświetli obrazka podlinkowanego przez . Próbowałem i się nie da, nawet jeżeli plik istnieje. Względy bezpieczeństwa.