Diskuze: Zobrazení části stránky na jiné stránce
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Musis ujasnit, co pouzivas....
$(document) - naznacuje, ze pouzivas jquery nebo jiny framework, ale treba casto se pouziva bindovani pres
var $ = document.querySelector.bind(document);
var $$ = document.querySelectorAll.bind(document);
Takze, vlastne neni jiste, co $ je za funkce nebo framework/api. Potom se
neda najit v dokumentaci, jak se pise load a co dela.
Pokud budu vychazet z jquery, tak https://api.jquery.com/load/
.load( url [, data ] [, complete ] )
.load('/hodnoceni-obchodu .content-inner');
Prvni parametr je URL ty tam davas nejakou kravinu a ne url. Nicmene... Zda se, ze jquery skutecne umi nacist cast stranky...
$( "#result" ).load( "ajax/test.html #container" ); // Loading Page Fragments
Ale, kdyz si o tom neco prectes, tak to dela podle ID, porotze ID je unikatni, narozdil od class, kterou muze mit spolecnou vice prvku.
Zdravím, děkuju moc.
Je to jQuery, konkrétně 1.11.3 (to je dané na Shoptetu, nemůžu to změnit),
úplně jsem zapomněl to zmínit, omlouvám se.
Co se týče výběru prvku podle třídy versus podle ID, zmátlo mě to, že v
jednoduchém příkladu, co jsem zkoušel, to fungovalo i podle třídy, ale to
bylo asi díky tomu, že v kódu byla třída použita jen jednou.
URL si myslím že mám správně, ne? S doménou to AFAIK být nemůže,
protože by to porušilo "same origin policy" a zkoušel jsem jak
"/hodnoceni-obchodu" tak "hodnoceni-obchodu" a nešlo to ani s jedním.
Zkusil jsem to tedy podle ID místo podle třídy:
$('#hodnoceni-obchodu').load('/hodnoceni-obchodu #content');
ale výsledný div je pořád prázdný, asi to selektuju nějak málo konkrétně, nevím.
nejdriv si zkus jen samotnou url. treba je problem nekde jinde. Ono, ale loadovani obsahu vetsinou pracuje asynchronne. jakoze spustis program na pozadi, ten downloaduje a pa spusti funkci, kterou mu zadas. Kdyz nezadas nic, tak se nic nedeje po stahovani. To zkus treba upravit, jak maji v poslednim prikladu, aby to vypsalo treba error.
<script>
$( "#success" ).load( "/not-here.php", function( response, status, xhr ) {
if ( status == "error" ) {
var msg = "Sorry but there was an error: ";
$( "#error" ).html( msg + xhr.status + " " + xhr.statusText );
}
});
</script>
Tak to se samozrejme z tveho prispevku nedalo vydedukovat. Celou cast kodu tam nemas. To chce vzdycky zkouset zvlast z minimalnim kodem a upravovat jen funkcni kod. Kdyz ti neco pak nejde, muzes hledat rozdily mezi tim funkcnim a tim novym .Nebo do funkcniho postupne doplnovat zmeny a pokazde, kdyz to funguje, tak si to ulozit. Ja to delam ve Faru F5, *.1 (2,3,4,..), enter
Díky za radu s verzováním. Stejně se budu muset naučit zacházet s Gitem:). Mně vůbec nenapadlo, že jQuery v <head> může v Shoptetu být příliš brzo.. až pak jsem si všiml čísel řádků. Myslím, že to změnili, dřív jsem různé append() a insertAfter() používal v <head> a fungovalo to.
Mozne je vsechno. Dneska se meni browser temer ze dne na den
Ono, zalezi na tom, jak to mas napsane v te head. Urcite poradi tam musi byt.
$.load by mel simulovat body.onload.
Zobrazeno 9 zpráv z 9.