úterý 23. října 2012

Pozor na externí scripty! Ajax je nemá rád!

V rámci vylepšovaček na jistém projektu jsem nechal odeslat formulář AJAX na pozadí a celou stránku pak nahradil odpovědí.


$.get( link, function(data) {
        $('body').html( data ); //funguje v chrome, ff, ie7-9
});


Vše fungovalo perfektně až na drobný detail: na nově načtené stránce nenaběhl slider v Chromu (FF i IE ok). V konzoli se objevila chyba:


Uncaught TypeError: Object #<Object> has no method 'slider'


Dlouho jsem si lámal hlavu, co je kde špatně, až jsem se dolámal k příčině: Chromu zřejmě vadilo, že knihovna jQuery UI (jako jediná) se tahá externě z CDN serveru do stránky stahované do prohlížeče AJAXem.

Řešení je prosté - přesunout knihovnu na svůj server.

MAKE Magazine

Technology Review RSS Feeds

Nejčtenější příspěvky