IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Instance třídy na zařízeních iOS nefunguje.

Aktivity
Avatar
Stivko
Člen
Avatar
Stivko:16.8.2020 21:09

Mám vytvořenou třídu v externím souboru. Vytvořil jsem v dalším souboru instanci této třídy se kterou dále pracuji - vše funguje. Problém však nastává na telefonech apple, kdy mi to v consoli háže chybu "reference error: can't find variable lightbox". Hledá to proměnnou, ne třídu.

Načítání souborů, instance vytvořena v souboru loadImages.js

<script src="./js/lightbox_class.js"></script>
<script src="./js/loadImages.js"></script>

Kus kódu s instancí:

try {
    let gallery = new Lightbox(galleryImages, modal, modalImage);
    gallery.setControlBtn(prevGalleryBtn, nextGalleryBtn, closeGalleryBtn);
}
catch(e) {
    console.log('Error lightbox: ' + e);
}

Zkusil jsem: Zkoušel jsem třídu přepsat na export a importnout v dalším souboru. Stejný problém - na desktopu a android funguje, iOS nic.

Chci docílit: Rád bych zjistil příčinu nefunkčnosti tříd v iOS zařízeních.

Odpovědět
16.8.2020 21:09
Nikdy není pozdě začít s něčím novým
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:17.8.2020 8:29

Mas nekde kod, na kterem se to da zkouset? Pokud jsi ten kod nepsal ty, mozna ma lightbox spatny kod tridy. Konzola by mela vypisovat jsmeno souboru a radek, kde se chyba vyskytuje. Spousta prohlizecu treba rozlisuje i velikost pismen. A nevim, zda apple umi let syntaxi.

 
Nahoru Odpovědět
17.8.2020 8:29
Avatar
Stivko
Člen
Avatar
Odpovídá na Peter Mlich
Stivko:17.8.2020 11:49

Kód je můj. Původně jsem použil const syntaxi, poté zkusil var - stejný výsledek. Chybu console hlásí na řádku

let gallery = new Lightbox(galleryImages, modal, modalImage);

Error lightbox: ReferenceError: cant find variable Lightbox

Editováno 17.8.2020 11:50
Nahoru Odpovědět
17.8.2020 11:49
Nikdy není pozdě začít s něčím novým
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:17.8.2020 14:54

Jasne. Ale jde mi o to, ze mozna neni problem v te casti kodu, ale v tom ostatni, co jsi nezverejnil. Ze treba takova malickost, jako velikost pisment zohodne o tom, zda ten prikaz funguje ci ne

var z = new x();
// js fiddle hlasi: ReferenceError: x is not defined
// Firefox hlasi:  Uncaught ReferenceError: x is not defined

https://jsfiddle.net/Lg153jzt/

function x() {
this.a = 123;
}
var z = new x();
alert(z.a);
var y = new X(); // Uncaught ReferenceError: X is not defined

Ve druhem pripade jsem pouzil velke X proti x malemu. Proste jinak pojmenovanou promenou.

Editováno 17.8.2020 14:56
 
Nahoru Odpovědět
17.8.2020 14:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.