Perfection or Vanity

Project: Terminated

Blog nie jest już dalej prowadzony ani aktualizowany. Mimo tego, wpisy i komentarze są dalej dostępne. Możesz przeczytać pożegnalny wpis albo przejść do archiwum.

Problemy z .htc?

15 lipca 2006

Jeśli używasz plików zachowania dla Internet Explorera, takich jak csshover albo pngopacity, to całkiem możliwe, że zaczniesz sobie wyrywać włosy z głowy po wgraniu tychże na serwer. Bo lokalnie działa - a online już nie chce.

Przyczyny mogą być dwie. Pierwsza związana jest z ustawieniami bezpieczeństwa na Windows XP SP2, na którym to Explorer ignoruje pliki .htc jeśli nie są przesyłane jako text/x-component.

Aby zmienić domyślne www/unknown na Apache przejdź do katalogu /apache2/conf/ i edytuj plik mime.types. Dodaj w odpowiednim miejscu

  1. text/x-component htc

Potem wystarczy zrestartować serwer.

Druga przyczyna jest trywialna, a stoi za nią myślenie o podlinkowywaniu pliku .htc przez arkusz stylów jak o kolejnym obrazku. Jeśli używasz pliku zachowania w index, a style i htc masz schowane w katalogu /css/ to nie zadziała zwyczajne

  1. body {
  2. behavior: url(csshover.htc);
  3. }

Musisz odwołać się do tego pliku tak, jakby był w katalogu ze stroną.

  1. body {
  2. behavior: url(/css/csshover.htc);
  3. }

Mam nadzieję, że rozwieje to wątpliwości - sam miałem tutaj problem z htc właśnie przez względne ścieżki.

Informacje i hiperłącza

Blog o projektowaniu zgodnych ze standardami stron internetowych.

Praktyczne przykłady, sztuczki CSS, sposoby obchodzenia błędów przeglądarek, lekki i nieinwazyjny JavaScript, użyteczny design, dostępność i skrypty użytkownika.

RSS

Informacje o wpisie

Napisał riddle 15 lipca 2006 o 21:55

Kategorie: Internet Explorer, JavaScript & DOM, Strony WWW

Dodaj do:

Wpisy archiwalne

Archiwum miesięczne

Dzięki!

Dodaj bloga do Technorati Favorites Dodaj bloga do Del.icio.us Blog należy do sieci 10przykazań.com

  1. Co do pierwszej przyczyny (pomijając to że tego nie rozumiem xP):
    A jeśli ktoś nie ma dostępu do tego całego apache? Bo to chodzi o ten coś, co na tym serwer stoi, nie? No, chyba że ten cały apache siedzi u mnie w kompie... (nie śmiać się - ja naprawdę nie wiem w sumie co to jest...).

  2. Chamskie względne ścieżki. Miałem to kiedyś.

    Swoją drogą to ostre ustawienia bezpieczeństwa zadziałają nie tylko na Windows XP z SP2, ale i na Windows 2003 (zarówno bez jak i z SP1) oraz zapewne Windows Vista (choć to akurat będę mógł wkrótce potwierdzić - lub zaprzeczyć).

  3. Ahm, co do mojego poprzedniego komentarza - nvm.
    I dzięki, rzeczywiście był problem z tą ścieżką ;P

  4. @Tarnum: Apache to darmowy, najpopularniejszy (jak statystyki pokazują) serwer HTTP.
    I jak masz dostęp do plików .htaccess, to powinno się dać ustawić to o czym Riddle pisał bez mieszania w konfiguracji głównej ;)

  5. Co do pierwszego - zawsze możesz napisać skrypt PHP ustawiający odpowiedni header (google it) i podlinkować plik htc przez niego (behavior: /css/htc?q=csshover.htc)

    Modrzew - to też. :) AddType o ile dobrze pamiętam.

  6. A co to za ścieżka, /apache2/conf?

  7. Chyba powinno być wiadome, że /katalog/domowy/apacza/conf... czyli łopatologicznie: katalog gdzie nasz indianin trzymie konfigurację.

    Dla mnie to jest jasne...

  8. Dla mnie jasne jest, że to jest /etc/httpd/ i że zmian w typach mime nie robi się przez dłubanie we wbudowanej bazie owych typów (nie do zarządzania przy upgradzie), tylko przez dodanie odpowiedniej linijki we własnym configu.

    Tak BTW, to nie używałbym określenia "online" do Apacza odpalonego na localhost, bo po ponownej lekturze notki, to wygląda mi właśnie na taką sytuację. (A na żadnym dzielonym hostingu nie ma dostępu do konfiguracji demonów usług.)

    PS: Windows i webhosting nie idą w parze ;)

  9. @Patrys: A nie można poustawiać odpowiednich opcji w /etc/mime.types?

  10. Piotr Lewandowski 10 16 lipca 2006, 01:39

    Jeśli nie ma możliwości ustawienia tego w configu Apacha, to wydaje mi się, że można ustawić to na przykład przez cPanel (jeśli "hostingodawca" umożliwia taką opcję) w Apache Handlers... A może się mylę??

  11. Rozwiązanie włączające edycje mime.types również uważam za mało eleganckie. O ile się nie mylę, w .htaccess (lub w konfigu, tylko kto na produkcji ma do niego dostęp?) należy dodać
    AddType text/x-component htc

  12. delphiak 12 17 lipca 2006, 00:15

    ja wogole nie wiem o czym wy rozmawiacie :] ja zawsze uzywam http://gniotpol.nazwa.pl/UPLOAD/templates/css.htc - znalazlem kiedys w goglach, a podlinkowuje go bezposrednio w index.html takim kodem:

    <style type="text/css">
    body {
    behavior:url(templates/css.htc);
    }
    </style>

    i wszystko dziala ZAWSZE. i kazdemu. moze jestem po prostu szczesliwcem :)

  13. ->PS: Windows i webhosting nie idą w parze ;)

    Windows + IIS i mamy całkiem niezły (i popularny webhosting)

  14. pisałem kiedyś pewien projekt. Chodziło mniej więcej o to aby wyświetlać w tabeli pozycje z bazy danych, na jednej stronie około 400-500 wierszy, każdy miał być podświetlany, musiało działać pod IE. Wszytko fajnie działało jak wierszy było mało, ale kiedy dojechałem do wspomnianej liczby aplikacja tak mocno zwalniała że nie dało się pracować. Na początku myślałem że może zwaliłem coś w kodzie, ale nie dało się nic zwalić, ot zwykły while i w pętli wyświetlanie kolejnych wierszy tabeli. Usunałem ten behavior i ruszyło jak ręką odjął. Według mnie nadaje się to do podświetlenia sobie paru divów na stronie, ale przy większej ilości elementów nie daje rady.

  15. A ja kurczę dalej mam z tym problem. Dla przykładu mam plik http://msite.ovh.org/htc/htc.php?q=pngopacity.htc podlinkowałem go jako behavior: url(http://msite.ovh.org/htc/htc.php?q=pngopacity.htc); i nie działa ):. Typ ok, ścieżka też a niestety lipa - chyba, że taki plik nie może być na innym serwerze? Poza tym Opera np. dobrze rozpoznaje ten typ (tylko po co jej to?) a IE dalej twierdzi, że to "Nieznany typ"...

  16. a to dziwne bardzo jest. Bo ja mialem problem zupelnie odwrotny z htc. Na lokalu dzialac nie chcialo za to po wrzuceniu na server zaczelo dzialac. Ale stwierdzilem ze bawic mi sie w to dalej niechce bo gra nie warta byla swieczki i znalazlem inne rozwiazanie. Ot taka mala moja uwaga :). P.S Sciezka do apacha zalezy od ustawienia zmiennej prefix itp itd ;] wiec to juz widziemisie admina

    Pozdrawiam

  17. emilio854 17 18 lutego 2007, 11:54

    czy ktos mi powie co to sa za pliki HTC? czy trzeba miec jakis program zeby otworzyc te pliki?

  18. ja mam właśnie taki problem i niewiem jak sobie z tym poradzić. przykładowe menu www.haczyk.yoyo.pl lub www.haczyk.yoyo.pl/nowe i teraz tak : lokalnie działa a online w IE nie działa. czyli tak jak w temacie. Ścieżka do htc jest dobra. do apacha niemam dostępu, używam darmowego servera yoyo, jak mam to zrobić żeby działało w IE ?? proszę o pomoc

Dodaj komentarz

Do formatowania komentarzy używaj Textile (HTML nie działa). Szczególnie jeśli wklejasz większe fragmenty kodu. W razie niepewności użyj podglądu komentarza.

Wypowiedzi obraźliwe, infantylne oraz nie na temat będą moderowane – pisząc postaraj się zwiększyć wartość dyskusji.

Komentarze nie służą do wysyłania wiadomości albo informowania o błędach, itd. Chcesz coś mi napisać – skontaktuj się.