NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Nelze načíst externí js na safari mobile (iOS 9.3.3)

V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Neaktivní uživatel:23.7.2016 14:59

Ahoj.

Mám takový menší problém a nevím, jak ho vyřešit. Proto se zeptám i tady, a třeba mi pomůžete s řešením.

Dělám webovou appku podobnou idnes.cz v PHP (Laravel). Budou tam články, lidé je budou moci komentovat, pak tam budou správci různých kategorií, časem nějaký posílání zpráv a notifikace. Problém nastává v tom, že pokud si web zobrazím na kterémkoli Androidu, JS (jQuery především) funguje tak, jak má, ale pokud si ho zobrazím na iPhonu 6S, tak se mi nedokáže načíst žádný js soubor. Bohužel jsem hledal nějaká řešení, ale nic mi nefunguje. Takže bych se rád zeptal, jestli má někdo podobný nebo nejlépe stejný problém a jestli ví, jak na něj. Níže přiložím části kódu.

Předem děkuji.
S pozdravem a přáním pěkného dne, Tomáš

#############­########################­###############

# default_layou­t.blade.php
...
<script src="https://­code.jquery.com/jqu­ery-2.2.4.js"
integrity="sha256-iT6Q9iMJYuQiM­WNd9lDyBUStIq/8Pu­OW33aOqmvFpqI="
crossorigin="a­nonymous">
</script>
<script src='http://c­dn.tinymce.com/4/ti­nymce.js'></scrip­t>
<script src="/js/main­.js"></script>
...

# main.js

$(ducument).re­ady(function(){
...
});
...

Odpovědět
23.7.2016 14:59
Neaktivní uživatelský účet
Avatar
Michal Martinek
Tvůrce
Avatar
Michal Martinek:23.7.2016 19:07

Ahoj,
zkoušel jsi debugovat vzdáleně na počítači? A otevíral jsi web na Safari na Macu, na některé věci to hází stejné errory. Ještě můžeš mít zablokovaný JS na telefonu, ale to není moc pravděpodobné :-)

 
Nahoru Odpovědět
23.7.2016 19:07
Avatar
Neaktivní uživatel:23.7.2016 20:25

Ahoj Michale,

nezkoušel jsem debuggovat na PC, protože nemám MAC, využil jsem kámošova iPhonu, který mi ho na chvíli půjčil :) Na zapnutý JS jsem koukal a ten měl zapnutý. Asi tedy někde seženu Macbook na půjčení. Děkuju za reakci a snahu. S pozdravem, Tomáš

Nahoru Odpovědět
23.7.2016 20:25
Neaktivní uživatelský účet
Avatar
Marian Benčat:23.7.2016 20:28

Můj osobní typ je, že mu vadí http a https dohromady.. Není náhodou tvůj localhost server na https? V takovém příPadě browser často odmítne implucitne loadnout nonhttps externí script

Nahoru Odpovědět
23.7.2016 20:28
Totalitní admini..
Avatar
Neaktivní uživatel:23.7.2016 21:11

To jsem zkoušel, zkoušel jsem localhost na portu 8087, kde ho mám normálně nastavený, a je to úplně stejný jako na 80, na portu 443 jsem to nezkoušel.. zkoušeli jsme i Firefox a Chrome na iPhonu a tam prostě taky nefunguje javascript, který byl zapnutý, ještě jsme to kontrolovali v nastavení. Ostatní stránky fungují s javascriptem, tak nevím, kde je problém. Děkuji za Tvou reakci Mariane. S pozdravem a poděkováním, Tomáš :)

Nahoru Odpovědět
23.7.2016 21:11
Neaktivní uživatelský účet
Avatar
Marian Benčat:23.7.2016 21:28

muzes tu stranku dat nejak verejne? Ja na ni pres maca muzu zitra kouknout ;-)

Nahoru Odpovědět
23.7.2016 21:28
Totalitní admini..
Avatar
Marian Benčat:23.7.2016 21:29

jinak.. moc jsem nepochopil reakci... Port nijak nesouvisi s protokolem.. Jde o to, jestli je sifrovany (https) nebo neni.. Pokud mas svoji stranku pres HTTPS a zkousis treba getnou nejaky .js pres http, tak to treba i chorme blockuje.

Nahoru Odpovědět
23.7.2016 21:29
Totalitní admini..
Avatar
Michal Martinek
Tvůrce
Avatar
Michal Martinek:23.7.2016 21:32

Na chyby s mixed contentem by narazil už předtím. Jinak zkontroluj si ty skripty, co tam linkuješ, podle mě je chyba v tom :-) a taky se mi nezdá ten ducument :-)

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
23.7.2016 21:32
Avatar
Neaktivní uživatel:23.7.2016 21:42

Marian Benčat
Hele, zatím jsem si nezajišťoval žádný hosting, ale mohu to nějak zařídit :)

Btw. víš, nechci Tě nějak poučovat, ale ano, protokol souvisí s určitým portem, na kterém běží, protokol http (HyperText Transfer Protokol) běží nejčastěji na portu 80 (popř 8080, proto si do vyhledávače nemusíš psát port, jinak se píše port za dvojtečku ;) ), a https na portu 443.

ano, dokážu si zobrazit všechny javascripty, jak Ty moje, tak externí. Ve všech prohlížečích jsme to zkoušeli, i na tom iPhonu.

Editováno 23.7.2016 21:44
Nahoru Odpovědět
23.7.2016 21:42
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:23.7.2016 21:48

Michal Martinek

ten document mám napsaný dobře, tedy jsem to jen psal z hlavy a přepsal jsem se :D, ale děkuju :) podívám se na ten script :)

Nahoru Odpovědět
23.7.2016 21:48
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:23.7.2016 22:34

"Ukradl" jsem kamarádovi iPhona a šel jsem to zkoušet a nakonec jsem přišel, co mu vadilo. vadí mu defaultní hodnota u parametru v hlavičce funkce, viz. ukázka.

# ukázka
function funkce(parametr = defaultní_hodnota){
...
}

iPhonu tam vadí ta defaultní hodntota.

Mockrát vám děkuji za pomoct při řešení problému.
S pozdravem a poděkováním, Tomáš

Nahoru Odpovědět
23.7.2016 22:34
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:23.7.2016 22:57

to protože standard ES5 nic takového nedovoluje. Správně se to má dělat

function funkce(parametr){
    if (!parametr) {
        parametr = defaultní_hodnota
    }
    // ...
}
 
Nahoru Odpovědět
23.7.2016 22:57
Avatar
Odpovídá na Michal Žůrek - misaz
Neaktivní uživatel:23.7.2016 23:37

díky, taky už jsem na to přišel :) od ES6 už to funguje, tak jak jsem to dělal původně :)

Nahoru Odpovědět
23.7.2016 23:37
Neaktivní uživatelský účet
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 13 zpráv z 13.