mam ten problem, że nie może wydawać się znaleźć rozwiązanie dla ...IE7 awaryjne do IE6 trybie standardowym podczas renderowania CSS z pamięci podręcznej
Mam stronę, który renderuje grzywny z natywnym IE7 (nie emulowane jeden z IE9/IE8) przy początkowym obciążeniu, ale wraca do trybu standardowego IE6 na kolejnych żądaniach, które są podawane z pamięci podręcznej przeglądarki. IE7 wie, jak radzić sobie z wieloma klasami CSS, takimi jak "div.class1.class2", podczas gdy tryb standardowy IE6 nie - dlatego moja strona załamuje się przy każdej wizycie, ale w pierwszej.
Oto jak go odtworzyć:
- otworzyć IE7 (prawdziwa, IE7 Emulowane Tryb z IE9/IE8 nie zadziała!)
- iść do hhttp: // beta. upcload.com/widget/popup?garmentId=workaholicfashion-5276777 & sid =
- na pierwszej wizycie, wszystko powinno wyglądać dobrze i dandysa (na przykład niebieski przycisk, tak jak w Chrome lub FF)
- reload strona teraz, kilka reguł CSS się zepsuło, ponieważ przeglądarka wraca do trybu standardowego IE6 (NIE Tryb dziwności, sprawdziłem to! document.compatMode jest nadal „CSS1Compat”)
- wyczyścić pamięć podręczną i przeładować, wszystko wygląda ładnie ponownie
- powtarzać tak często, jak chcesz
Więc wydaje się, że gdy wszystkie pliki uzyskać lepszy od serwery Amazon, IE7 sprawia, że są one w porządku, w tym reguły CSS, które zawierają wiele klas. (na przykład "div.class1.class2") Przy próbie ponownego załadowania dokładnie tej samej strony z tym samym kodem, w jakiś sposób przełącza się do trybu standardowego IE6 (nie trybu Quirks), który nie rozumie zakodowanych klas CSS i dzieli kilka projekty, na przykład przyciski. Próbowałem dodać kilka różnych nagłówków Doctype/Meta, ale one nie mają znaczenia, obecnie strona jest zgodna z XHTML i ma zgodny z X-UA nagłówek IE = edge, ale nadal nie wyświetla się poprawnie po załadowaniu z pamięci podręcznej. Jedyną różnicą w nagłówkach, jaką mogłem odczytać, był brakujący nagłówek Content-Type dla żądań niezmodyfikowanych, ale to nie powinno być problemem, prawda?
Aha, i na dodatek, kiedy otwieram tę samą stronę z IE7 na moim lokalnym serwerze programistycznym, renderuje się dobrze, nawet po ponownym wczytaniu! :/
Aktualizacja
porządku, więc byłem w końcu w stanie odtworzyć go na serwerze rozwoju. Jedyną różnicą był nagłówek "max-age", który powodował, że przeglądarka nie zapisywała niczego w pamięci podręcznej lokalnie. Kiedy zwiększyłem czas cache, IE7 zaczął buforować te pliki, co ponownie spowodowało przerwę w projektowaniu po załadowaniu ich z pamięci podręcznej. To musi być problem z plikami obsługiwanymi z pamięci podręcznej zamiast z serwera.
Aktualizacja 2
I zmniejszyła go do pliku CSS. Wygląda na to, że IE7 renderuje go w trybie IE6, gdy pochodzi z pamięci podręcznej (tj. Bez nagłówka Content-Type) iz trybem IE7, gdy zostanie załadowany z serwera. (Content-Type: text/css) Czy ktoś ma pomysł, dlaczego tak się stało? Może jakieś zniekształcone reguły CSS? Jako obejście dodałem teraz parametr losowy do arkusza stylów, aby zapobiec buforowaniu, co uniemożliwia przejście IE7 do trybu IE6, ale nawet po usunięciu wszystkich błędów i ostrzeżeń z arkusza stylów problem nadal występuje.
IE jest raczej trudne do wsparcia w porównaniu do Chrome i FF, w moim doświadczeniu. Co zadeklarowałeś "DOCTYPE"? – starbeamrainbowlabs
'' Tak Nie jestem nowy w tej całej zgodności z przeglądarkami, ale w pewnym sensie uderzam w ścianę z tym konkretnym problemem. :/ –
ponownie swoją aktualizację2: czy sprawdziłeś arkusz stylów pod kątem błędów? Czy masz tam jakieś hacki CSS? Czy użyłeś specyficznego dla IE stylu 'filter' (ponieważ ma to niestandardową składnię)? Czy możesz usunąć problem, usuwając część lub całą zawartość pliku? – SDC