Autor Wątek: Jest tu jakiś spec od HTML? Webmaster  (Przeczytany 7830 razy)

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Jest tu jakiś spec od HTML? Webmaster
« dnia: 2014.10.27, 19:53:17 »
Problem dotyczy nie tyle samego języka HTML, co przeglądarki Firefox. W innych (IE, Chrome, Safari problemu nie ma).
Jest to prosta galeria składająca się z 3 ramek <frame>.  W jednej z ramek wyświetlane są fotki przerzucane klikiem.
Przy przejściu z obrazka nr 16 na 17, Firefox zamyka główną ramkę (sprawdzane na różnych komputerach PC).
Kod wszystkich podstron z obrazkami jest identyczny, a dzieje się to w różnych galeriach.
Opisałem to dokładniej na forum http://www.forumweb.pl/html/firefox-zamyka-ramke-frame/482522#482522,
i czekam już za długo.
Może ktoś zna inne forum o www, gdzie odpowiadają na posty?
AY Music, ULA plus.

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #1 dnia: 2014.10.27, 19:58:14 »
A masz to gdzieś do obejrzenia online?
OK, nie było pytania.

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #2 dnia: 2014.10.27, 20:09:00 »
Oczywiście: http://abrimaal.pro-e.pl/fotos/
Inne galerie też się zamykają po kilkunastu obrazkach i tylko w Firefox.
AY Music, ULA plus.

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #3 dnia: 2014.10.27, 20:11:08 »
Pierwszy rzut oka:

Invalid App Id: Must be a number or numeric string representing the application id.
all.js#xfbml=1 (wiersz 56)
FB.getLoginStatus() called before calling FB.init().
all.js#xfbml=1 (wiersz 56)
fb:like failed to resize in 45s
all.js#xfbml=1 (wiersz 56)

Może najpierw wywal ten skrypt fb.like i zobacz, czy działa lepiej.

Poza tym gorąco namawiam do trzymania się reguł notacji: class="xxx" i id="xxx" (chodzi o cudzysłowy) i generalnie walidację w3c (są walidatory online). Jak widzę <br> zamiast <br/>, to zalecam walidację jako pierwsze sprawdzenie kodu html.
« Ostatnia zmiana: 2014.10.27, 21:19:03 wysłana przez trojacek »

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #4 dnia: 2014.10.27, 20:46:09 »
W plikach 160.html i 170.html zgubiłeś sekcję <body>. Poza tym klasa mieszcząca obrazek raz się nazywa "pikture", raz "panoramik".

Co zauważyłem, problem występuje przy tranzycji 160.html->170.html i z powrotem. Jak również przy klikaniu zdjęć 160/170 z prawej kolumny miniaturek. Dalszych obrazków już nie sprawdzałem ;)

Dołączam obrazek z diffa dla 100.html i 170.html:

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #5 dnia: 2014.10.27, 21:17:37 »
Zmieniłem wszystkie etykiety tekstowe na nazwy w cudzysłowach. Facebook script tymczasowo usunięty.

<body> już dodaję ręcznie, rzeczywiście było zgubione w pliku 20.html, a ponadto powtórzona w niektórych plikach część metadanych

style .pikture i .panoramik są dla różnych proporcji obrazków. Pierwszy skaluje do wysokości, drugi do szerokości. To już ustawiam ręcznie. Pikture jest domyślny dla większości (czyli standardowej wysokości 666px), panoramik dla mniejszej wysokości. To działa w miarę dobrze nawet na mobilnych przeglądarkach.

Jeśli link dotyczy tej samej ramki <a href="020.html"> to target jest chyba opcjonalny? Próbowałem tak i tak.
AY Music, ULA plus.

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #6 dnia: 2014.10.27, 21:21:08 »
Defaultowy jest target="_self".

Po Twoich ostatnich zmianach przestało działać przechodzenie 150.html->160.html.
Czyli coś zepsułeś ;). Ale powinno to dać Ci do myślenia.

Poza tym nie wszędzie dodałeś cudzysłowy. No i bardzo nie podoba mi się podobieństwo nazwy ramki "pikturez" do nazwy klasy "pikture". Nie powinno to mieć znaczenia, ale kto tam wie do końca ;)
« Ostatnia zmiana: 2014.10.27, 21:31:54 wysłana przez trojacek »

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #7 dnia: 2014.10.27, 21:31:40 »
Też go sprawdzałem, chyba będę musiał przepisać całość od początku zmieniając tylko linki. Różniące się nieznacznie pliki, to efekt testowania różnych parametrów i automatycznej zamiany jednego tekstu na drugi w wielu plikach.

Tutaj przydałby się jakiś skrypt, żeby nie tworzyć 100 plików html dla każdego obrazka tylko z innymi numerkami.
W zewnętrznym pliku byłyby zdefiniowane nazwy plików .jpg (zwykle numerowane od 010.jpg ze skokiem 10), class="pikture" lub "panoramik" i podpis, który czasami dodaję.
Link do następnego obrazka wywołałby funkcję odczytującą te dane i załadował. Znasz może coś takiego?
AY Music, ULA plus.

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #8 dnia: 2014.10.27, 21:32:29 »
A masz na tej maszynie php? A nawet jeśli nie, to możesz pod linkami do kolejnego i poprzedniego umieszczać javascriptową sklejkę nazwy bieżącego obrazka po obcięciu ".jpg", dodania/odjęcia liczby 10 i doklejenia ".html".

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #9 dnia: 2014.10.27, 21:41:56 »
Na domowym komputerze nie mam php, ale server obsługuje. Nie znam składni php ani javascript i unikam pisania w językach których nie rozumiem. Znam jednak taką funkcję, która za każdym przeładowaniem strony ładuje randomowo obrazki (teksty, cokolwiek co znajduje się między cudzysłowami).
Może da się ją przerobić, żeby ładowała po kolei wg listy
<!--
pics = new Array(
"<IMG SRC=mix/20130322-1.jpg border=0>",
"<IMG SRC=mix/20130305-1.jpg border=0>",
"<IMG SRC=mix/20130623-1.jpg border=0>"
)
document.write(pics[Math.floor(Math.random() * pics.length)])
// -->
AY Music, ULA plus.

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #10 dnia: 2014.10.27, 22:11:53 »
To czemu nie wziąłeś gotowca - skryptu galerii w php? Byłoby chyba szybciej i prościej.
A z tym, co masz to będzie trochę dłubania, by to uprościć.
Ja bym zamiast tych wszystkich plików xx0.html zastosował jeden, który by dynamicznie przeładowywał zdjęcie.

Coś typu (pisane z głowy - pewnie jest milion błędów):

<a href="#" onclick="obrazek.src=getPrev(obrazek.src)"><img src="strzalka_w_lewo.gif"</a>
<a href="#" onclick="obrazek.src=getNext(obrazek.src)"><img src="strzalka_w_prawo.gif"</a>
<br/>
<img name="obrazek" src="010.jpg">
...
function getPrev(src) {
  var fNo = src.substr(-7,2); // pobranie numeru - 2 cyfry
  var retSrc = Number(fNo) - 1;
  var fName = ("0" + retSrc.toString() + "0").substr(-3,3) + ".jpg";
  var img = new Image(fName);
  if (img.height > 0) then return fName else return src;
}

function getNext(src) {
  var fNo = src.substr(-7,2); // pobranie numeru - 2 cyfry
  var retSrc = Number(fNo) + 1;
  var fName = ("0" + retSrc.toString() + "0").substr(-3,3) + ".jpg";
  var img = new Image(fName);
  if (img.height > 0) then return fName else return src;
}

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #11 dnia: 2014.10.27, 23:14:40 »
Mniej wiecej to rozumiem, jednak pod koniec galerii obrazki mają numery 991, 992 ... 999. Nie raz dodaję do istniejących galerii nowe obrazki - dlatego numeruję je co 10, żeby w razie czego coś wstawić. Nie zawsze też są to pliki .jpg, czasem .png (np. mapki).

Dla jasności poprawiam nazwę ramki z "pikturez" na "gall".

Myślę o liście plików i ich parametrach w pliku skryptu.
Nazwa pliku z grafiką styl i opis, bez obliczeń. To da kontrolę nad zawartością i łatwo pozwoli aktualizować.

"#","","",
"020.jpg","pikture","Zaczynamy podróż",
"030.jpg","panoramic","",
"035.jpg","pikture","ta fotka dodana później",
"040.jpg","pikture",""
"map.png","pikture",""Trasa w formacie <a href="plik.zip">gpx</a>",
"#","",""
Skrypt miałby odczytywać jednocześnie 7 wartości i umieszczać je w opowiednich name=.
1. nazwa poprzedniego, 2 i 3 styl i opis poprzedniego - nieużywane
4. nazwa wyświetlanego 5. jego styl 6. jego opis
7. nazwa następnego
Przy kliku na poprzedni / następny zmiana indeksu o 3. Da się to w ogóle napisać w js?
Dla pierwszego i ostatniego obrazka nie trzeba definiować poprzedniego, gdyż tam nie będzie linku, ale dla działania skryptu będzie koniecznie dodanie na początku i końcu pustego "","","" lub "#","",""

Edit: pierwszy i ostatni obrazek mogą być oddzielnymi plikami .html linkowanymi bezpośrednio.
Zmieniają się w nich przyciski graficzne i nie byłoby sensu definiować ich za każdym razem. Niech to działa od drugiego, tylko teraz...
albo skrypt musi wykryć "#" i skoczyć do innego pliku .html
albo jednak dodać do listy danych danych np. "0","1" dla pierwszego, "1","0" dla ostatniego, dla pozostałych "1","1"
które decydowałyby o podmianie strzałki na grafikę początku i końca, która jest taka sama
albo... pozostać przy html i prawidłowo ponumerować obrazki, żeby szablon działał. uff.
« Ostatnia zmiana: 2014.10.27, 23:36:51 wysłana przez Abrimaal »
AY Music, ULA plus.

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #12 dnia: 2014.10.27, 23:23:35 »
Do tego służy baza danych plus język programowania (czy to java, czy php, czy perl czy inne ruby). I wtedy zamiast skupiać się na niuansach implementacji, skupiasz się na tym, by ładnie wyglądało ;)

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #13 dnia: 2014.10.28, 00:22:55 »
Czyli niechcący napisałem bazę danych. Teraz pozostaje nauczyć sie języka, który by ją odpowiednio interpretował.
Który polecasz dla osoby, która nie zawsze odróżnia kropki od przecinków czy nawiasy okrągłe od klamrowych? Żeby miał w miarę elastyczną i intuicyjną składnię.
Ile razy mam ochotę dopisać coś na stronie w ZX Basic, ale ...
AY Music, ULA plus.

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Jest tu jakiś spec od HTML? Webmaster
« Odpowiedź #14 dnia: 2014.10.28, 08:31:00 »
Polecam php, ma bardzo swobodną notację i łatwo się go nauczyć.