http://www.airitaly.eu/

w dziale Strony WWW w Operze
uniqiq napisał(a):

Nie działa mi strona http://www.airitaly.eu ale zanim zgłoszę błąd chciałem się upewnić, że innym też nie działa, bo Opera 9.51 wprowadziła pewne przykre niespodzianki.
Konsola błędów nic nie pokazuje.

Zajrzałem w kod. Opera jest wykrywana po userAgencie, żeby wykryć identyfikację jako IE (warunek if (isIE && isWin && !isOpera) ... ), bo dla IE zrobili spradzanie wersji flasha w VB, a dla reszty przeglądarek w JS. Tak więc wykonywane jest to samo co dla FF, a pod FF strona działa. Zresztą maskowania jako IE / FF też próbowałem.

Teraz najciekawsze:
Odpaliłem stronę pod konkurencyjną przeglądarką (FF) i przekierowała mnie na adres http://www.airitaly.eu/index.php?lang=uk&ml=uk. Wkleiłem go w Operę i działa.

sherlock

uniqiq napisał(a):

Przejrzałem dokładniej ten skrypt na stronie do sprawdzania flasha i nie znalazłem błędu. Zacząłem debuggować przy pomocy alertów wstawianych w kod i nic - to znaczy żaden się nie pokazał. I nagle mnie coś tknęło. Wpisałem w pasek adresu:

javascript:controlla()

I poszło...

Ktoś ma pomysł dlaczego nie działa onLoad w body:
<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 background="white" onLoad="controlla()">

?
bigeyes

uniqiq napisał(a):

Wiedziałem, że nie zasnę dopóki nie sprawdzę. To chyba jakaś choroba psychiczna. ;->
Ograniczyłem stronę do takiej postaci:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>AIR ITALY - Lots of lines. Just one company.</title>
<script language="JavaScript1.1" type="text/javascript">
function controlla() {
alert("TEST");
}
// -->
</script>
</head>
<body background="white" onLoad="controlla()">
</body>
</html>

i nie działa. Oczywiście background="white" nie jest poprawne - chyba, że jest obrazek pod adresem white ;-> - i powinno być bgcolor, ale mimo wszystko nie usprawiedliwia to nie zadziałania onload (mam rację? bo ja się na HTMLu nie znam). Co ciekawe wystarczy wstawić background="#white" już działa. Nic z tego nie rozumiem. Muszę się z tym zdrzemnąć.

PS: To chyba nie jest normalne odpowiadać samemu sobie na forum, co nie?

nowotny napisał(a):

Originally posted by uniqiq:

Ktoś ma pomysł dlaczego nie działa onLoad w body:


Wg. mnie tam powinno być:
onLoad="javascript:controlla()"

uniqiq napisał(a):

Nie wiem jak to jest, ale jak zmieniłem

onLoad="controlla()"
na
onLoad="javascript:controlla()"

to nic to nie dało. Za to jak wyrzuciłem ze znacznika body wspomniany argument background, to strona działa!
Pisząc zmieniłem mam na myśli Ctrl+F3 (źródło strony), a potem Zastosuj zmiany. Opera ma wspaniałą opcję zmieniania kodu oglądanej strony. I tutaj też rzecz bardzo dziwna: zauważyłem inne działanie strony jak ją odpalam lokalnie, a inne z serwera. Mianowicie jak zapiszę sobie oryginalny kod strony na dysku (co najwyżej zmieniając
window.location="prehome.php"
na
window.location="http://www.airitaly.eu/prehome.php";
), i odpalę ją lokalnie, to strona działa bez żadnych przeróbek!
Coraz więcej w tym magii. Czy ktoś jest to w stanie wyjaśnić?

PS: Wyszła nowa wersja Opery. Powyższe spostrzeżenia dotyczą wersji 10089.