To "sprawdzone rozwiązanie" umięściłem jakby jako BTW. Nie stawiałem za pewnik, że nie będzie tego samego problemu (choć sam, czytając teraz swój post, rozumiem, że mogłeś zinterpetować to tak jak zinterpretowałeś). Wcześniej nie znałem problemu, o którym mowa w przedstawionych przez Ciebie linkach, zapewne dlatego, że iframe nigdy nie stosowałem.
adax2000 pisze:piszesz, że nie używa js a używa i to takiego które obsłużą tylko najnowsze przeglądarki (z uwagi na używanie DOM)
Napisałem, że nie używa JS, a to był mój błąd, bo używa JS, ale tylko do obsługi badzIEwiastej przeglądarki. W nowoczesnych przeglądarkach menu działa bez zastosowanego skryptu JS, a także przy wyłączeniu obsługi JS. Do działania nie wykorzystano DOM, tylko oparto się na odpowiednie zastosowanie CSS. Link, który podałem odnosił się do gotowego rozwiązania, o to link do
całego artykułu.
adax2000 pisze:nie chcę rezygnować z iframe (prędzej ze wsparcia dla opery), ma ona funkcjonalności, których żaden div nie udostępni (głównie chodzi o to że docelowo chcę zmieniać zawartość iframe bez konieczności ładowania całej tej bardzo ciężkiej strony od nowa)
Może i iframe ma pewną funkcjonalność, ale zastosowanie w taki sposób pływających ramek stanowi problem z poruszaniem się po stronie dla użytkowników. Poza tym duży problem ze stosowaniem pływających ramek związany jest z SEO. Wiele wyszukiwarek ma problem ze stronami opartymi na ramki. Efekt może być taki, że strona nie znajdzie się w ogóle w wynikach wyszukiwania lub adres w wynikach prowadzić będzie do strony, która z założenia ma wczytywać się w ramce. Jest wiele alternatyw dla pływających ramek, z PHP'ową funkcją include na czele. A jeśli oddzieliłbyś strukturę od wyglądu (czyli w najpełniejszy sposób użyłbyś CSS), zastosował semantyczny kod oraz zrezygnował z tworzenia layout'u opartego na tabele na koszt div'ów to różnica w czasie wczytywania strony byłaby nieduża.
W sieci znalazłem takie oto stwierdzenie na temat ramek:
So my advice is to not use Iframe if possible at all. Iframes and Frames break down the basic structure of internet. Do not use them. Those are for kids.
I w 100% się z tą opinią zgadzam.
BTW, nie radziłbym rezygnować ze wsparcia dla Opery.
Swoją propozycję pozbycia się problemu podtrzymuję: zrezygnuj z iframe i dodatkowo oprzyj się na rozwiązanie, które podałem. Przynajmniej Twojej stronie będzie bliżej do właściwych standardów sieciowym.