Po aktualizaci je chyba v API klientovi

Diskuse k nové verzi mapového API. Napište nám, co se vám na novém API libí či nelíbí a přispějte svými komentáři a připomínkami k jeho zdokonalení.
djp...@...
Příspěvky: 5
Windows NT 64 bits Google Chrome 66.0.335

Po aktualizaci je chyba v API klientovi

odesláno v 17 kvě 2018 08:21

Dobrý den,

od včera máme hlášené od klientů, že všechny weby, kde se používá služeb mapy.cz jsou nefunkční.
Konkrétně se jedná o to, že Váš klient smaže obsah stránky přes document.write ve Vašem api.mapy.cz/loader.js, řádek 294.
Všechny nové verze prohížečů s tímto mají problém.

Nevím, zda to bylo aktualizací Vašich map, ale dělá to od včera a na všech webech (desítky).

Děkuji

jak...@...
Seznam vývojář
Příspěvky: 97
Windows NT 64 bits Firefox 61.0 64 bits

Re: Po aktualizaci je chyba v API klientovi

odesláno v 17 kvě 2018 11:06

Dobrý den,

k tomu budeme asi potřebovat víc informací. Najakém webu a v jakém prohlížeči se to děje? My tady totiž nic takového nepozorujeme a document.write tam je již velmi dlouho.

djp...@...
Příspěvky: 5
Windows NT 64 bits Google Chrome 66.0.335

Re: Po aktualizaci je chyba v API klientovi

odesláno v 17 kvě 2018 14:13

Poslal jsem Vám email, detaily nechci psát na veřejné forum.

jak...@...
Seznam vývojář
Příspěvky: 97
Windows NT 64 bits Firefox 61.0 64 bits

Re: Po aktualizaci je chyba v API klientovi

odesláno v 17 kvě 2018 14:49

Výborně, to vypadá, že řešení by mohlo být snadné. Tato část kódu musí být v tagu head a ne v body.

<script type="text/javascript" src="//api.mapy.cz/loader.js"></script>
<script type="text/javascript">
Loader.load(null, {
suggest: true
});
</script>

djp...@...
Příspěvky: 5
Windows NT 64 bits Google Chrome 66.0.335

Re: Po aktualizaci je chyba v API klientovi

odesláno v 18 kvě 2018 08:40

Bohužel to tak není, ani v head to nepomohlo.

jak...@...
Seznam vývojář
Příspěvky: 97
Windows NT 64 bits Firefox 61.0 64 bits

Re: Po aktualizaci je chyba v API klientovi

odesláno v 18 kvě 2018 17:25

Momentálně tam máte chybu jinde, takže těžko říct. Na řádku 115 v prMaps.js je inputEl null, což vede k chybě. Hádám, že metoda _initSearchbox se volá tak brzy, že daný element není ještě v DOMu. Tohle je skutešně na Vás, nemohu nijak pomoci s takovými věcmi. Pokud potřebujete, mohu Vás odkázat na nějaké zdroje, které hovoří o tom, jak debugovat javascript. Až eliminujete tyto problémy, tak věřím, že vše bude fungovat a pokud ne, tak je samozřejmě možné, že je skutečně chyba v API. Nicméně to ve stejné podobě používáme my sami i mnoho dalších stran a bez potíží, takže bych v první řadě hledal problém nejdříve ve vlastním kódu. Že by se API ani nenačetlo a rozbilo celou stránku, toho by si přeci jen všimlo více lidí.

jak...@...
Seznam vývojář
Příspěvky: 97
Windows NT 64 bits Firefox 61.0 64 bits

Re: Po aktualizaci je chyba v API klientovi

odesláno v 21 kvě 2018 11:19

Zdá se, že problém se Vám podařilo vyřešit. Čím to tedy bylo?

at....@...
Příspěvky: 1
Windows NT 64 bits Google Chrome 66.0.335

Re: Po aktualizaci je chyba v API klientovi

odesláno v 28 kvě 2018 12:00

Dobrý den,

bohužel se nyní potýkám s přesně zmíněným problémem, kdy v Chrome verze 66.0.3359.181 v devTools opakovaně pro asi 5 zdrojů dostávám hlášku:

"A parser-blocking, cross site (i.e. different eTLD+1) script, https://api.mapy.cz/js/api/v4/smap-jak.js?v=4.13.18, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details."

Je známé nějaké řešení a jak tento problém odstranit? Mapa se do bloku vykreslí jen co se ovládacího UI týče. V halvičce dokumentu mám vloženy zmíněné 2 skripty a na konci dokumentu pak toto api volám skrze základní kód.

Díky za odpověď.

Zpět na Mapy API v4.0