Autor Zpráva
hubija
Profil *
Zdravím,

na svých stránkách řeším problém. Ve všech prohlížečích, kromě IE se stránky zobrazí v naprostém pořádku a bez jakýchkoli problémů. IE při pokusu o načtení stránek nahlásí chybu a přestane pracovat.

Nahlásí:

Podrobnosti o chybě na webové stránce

Uživatel zástupce: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Časové razítko: Tue, 12 Nov 2013 15:08:50 UTC


Zpráva: 'u.body' má hodnotu null nebo není objekt.
Řádek: 2
Znak: 1457
Kód: 0
Identifikátor URI: http://moje vymaslene stranky.cz/wp-content/themes/moje/assets/scripts/respond.js

přikládám kód z chybného souboru
/*! Respond.js v1.0.1pre: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs  */
(function(e,h){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=h;if(h){return}var u=e.document,r=u.documentElement,i=[],k=[],p=[],o={},g=30,f=u.getElementsByTagName("head")[0]||r,b=f.getElementsByTagName("link"),d=[],a=function(){var B=b,w=B.length,z=0,y,x,A,v;for(;z<w;z++){y=B[z],x=y.href,A=y.media,v=y.rel&&y.rel.toLowerCase()==="stylesheet";if(!!x&&v&&!o[x]){if(y.styleSheet&&y.styleSheet.rawCssText){m(y.styleSheet.rawCssText,x,A);o[x]=true}else{if(!/^([a-zA-Z]+?:(\/\/)?)/.test(x)||x.replace(RegExp.$1,"").split("/")[0]===e.location.host){d.push({href:x,media:A})}}}}t()},t=function(){if(d.length){var v=d.shift();n(v.href,function(w){m(w,v.href,v.media);o[v.href]=true;t()})}},m=function(G,v,x){var E=G.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),H=E&&E.length||0,v=v.substring(0,v.lastIndexOf("/")),w=function(I){return I.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+v+"$2$3")},y=!H&&x,B=0,A,C,D,z,F;if(v.length){v+="/"}if(y){H=1}for(;B<H;B++){A=0;if(y){C=x;k.push(w(G))}else{C=E[B].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1;k.push(RegExp.$2&&w(RegExp.$2))}z=C.split(",");F=z.length;for(;A<F;A++){D=z[A];i.push({media:D.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:k.length-1,minw:D.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:D.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}}j()},l,q,j=function(E){var v="clientWidth",x=r[v],D=u.compatMode==="CSS1Compat"&&x||u.body[v]||x,z={},C=u.createDocumentFragment(),B=b[b.length-1],w=(new Date()).getTime();if(E&&l&&w-l<g){clearTimeout(q);q=setTimeout(j,g);return}else{l=w}for(var y in i){var F=i[y];if(!F.minw&&!F.maxw||(!F.minw||F.minw&&D>=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_<style media="'+a+'"> #mq-test-1 { width: 9px; }</style>';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this));

V javaScriptu moc neumím, proto budu rád za veškerou pomoc a rady.


Díky
Micruss
Profil
a zkoušel jsi to změnit např. z jinýho serveru (myslím cestu ke skriptu)... jestli to taky blbne
Chamurappi
Profil
Reaguji na Micrusse:
Jak by cesta ke skriptu mohla mít na tohle vliv?


Reaguji na hubiju:
Tipnul bych si, že příčinou je, že používáš quirk a že uvedený skript je v <head>.
Micruss
Profil
Chamurappi:
menší chyba.. špatně jsem to přečetl...
hubija
Profil *
Chamurappi:


skript respond.js je skutečně v <head> asi takto:

<!-- DOCTYPE html -->
<html.......>
<script src= ceska ke skriptu>

v čem je problém?
Chamurappi
Profil
Reaguji na hubiju:
<!-- DOCTYPE html -->
Jaký smysl má ten tento komentář? Tohle rozhodně není <!doctype>. Standardní režim se vyvolává jinak, viz můj odkaz výše.
hubija
Profil *
Chamurappi:
četl jsem si článek a přečtu si jej raději ještě jednou...

můj předchozí příspěvek říkal jen to co jsem našel při spuštění "nástroje pro vývojáře" v IE 8 - a jestli to chápu správně tak <!-- DOCTYPE html --> by podle přiloženého odkazu mělo znamenat záznam standardního režimu ne?
Chamurappi
Profil
Reaguji na hubiju:
<!-- DOCTYPE html --> je obyčejný bezvýznamný HTML komentář.
<!DOCTYPE html> je deklarace, která umí zapnout standardní režim (je-li na začátku kódu).
Na lepší posouzení stavu tvého kódu by se hodil odkaz na živou ukázku. Dlouhý zhuštěný cizí kód přesné diagnóze moc nenapomáhá (já příčinu jen tipuji).
hubija
Profil *
omlouvám se nedošlo mi že to je poznámka... už jsem nějakej unavenej asi :-)


živá ukázka: www.ha-ma.cz

dělal jsem teď úpravy s respond.js a sice se podařilo stránky otevřít, ale šlo to pouze velice pomalu a někdy se stejně nezobrazili. Takže jsem vrátil vše ke starému, tak aby popis problému opět seděl s realitou
_es
Profil
hubija:
Asi si si v tých „Nástrojoch vývojára“ prepol režim dokumentu na „Quirks“. U iných návštevníkoch asi chyba nenastáva.

V javaScriptu moc neumím
Tak prečo si tam toho JavaScriptu toľko „nacápal“? Skontroluj si, či tam nejaké skripty nevkladáš dvojmo, minimálne pre jQuery to tak je. Prečo je zobrazenie stránky v IE závislé od JS, respektíve čo očakávaš, že návštevníkom prinesie použitie elementov ako header a article?
hubija
Profil *
_es:
V "nástrojích vývojáře" jsem určitě nic nepřepl a kdyby u jiných návštěvníků chyba nenastávala, tak bych problém neřešil. Osobně IE absolutně nevyužívám a kdyby mi právě nepřišla zpětná vazba, že se vyskytuje problém ve zmíňěném prohlížeči, tak by o problému ani nevěděl.


hubija:
a mimochodem nevím proč na většině fór 90% lidí neřeší samotný problém, ale jen dávají otázky a "rady" úplně mimo, nebo týkající se něčeho jiného. „V javaScriptu moc neumím“ jsem napsal přesně pro lidi jako jsi ty. Pokud mi nechceš nebo neumíš poradit, tak postrádá smysl vůbec psát nějaké komentáře. Právě proto jsem přišel sem, aby mi někdo zkušený poradil. Myslím si že fóra původně vznikali za účelem pomáhat si, nikoli k opaku.
_es
Profil
hubija:
V "nástrojích vývojáře" jsem určitě nic nepřepl
V IE8 u mňa uvedená chyba nenastávala. Nastala až po prepnutí do režimu Quirks v „Nástrojoch vývojára“. Ešte som skúsil v hlavnom okne zapnúť „Režim kompatibilného zobrazenia“ a stránka teraz nejde načítať vôbec - neviem či to súvisí s tým, alebo si na stránke niečo zmenil.


hubija:
jen dávají otázky a "rady" úplně mimo
Režim „Quirks“ nie je rada „mimo“, nastáva v dôsledku toho presne tá chyba, ktorá nastáva aj u teba a tiež aj nefungujú „opravné“ skripty v IE na samoúčelné použitie nepodporovaných HTML elementov. Dvojité vloženie jQuery, ďalšiu možnú príčinu problémov, si sa ani nenamáhal opraviť.
hubija
Profil *
Vím, že quirks není rada mimo, tím jsem myslel toto:

_es:
prečo si tam toho JavaScriptu toľko ‚nacápal‘?

nechci se tu dohadovat, jen bych rád dostal radu co dělat z této mojí výchozí pozice s tím, co na stránkách mám. Nechci nikterak optimalizovat stránky pro IE, jen bych rád aby se bez chyb zobrazili, protože v momentě, kde tam příjde někdo cizí a nebodou fungovat zcela korektne, tak z nich raději odejde. Další věc která je fakt, je ta, že jsem s nástojem vývojáře skutečně nijak nemanipuloval - s celým IE 8 jsem nemanipuloval. Už jsem nechal otestovat na jeném PC zadli se na IE vyskytuje také chyba a vyskytuje. Se stránkami jsem v průběhu této diskuze nijak prozatím nemanipuloval, neboť jsem zde chtěl nechat prostor odborníkům a něchtěl jsem to komplikovat a ztěžovat mými někdy neodbornými postupy a tak proto, že jsem mimo dosah svého pc.

Asi si si v tých ‚Nástrojoch vývojára‘ prepol režim dokumentu na ‚Quirks‘.“ Qurrks jsem prostě v nástrojích nezapínal a něudělal to ani nikdo z mnou oslovených, kteří používají IE a nastala u nich stejná chyba. Z toho vyplívá, že musím opravit stránky do takové míry aby tatao chyba, minimálně u testovaných lidí, už nenastávala - nemůžu po nich chtít aby si "něco" "někde" přepínali.

Jediná věc co jsem včera ještě zkoušel bylo upnují jiné verze respond.js viz:

Moderátor Chamurappi: Odstraněn nekompletní zdrojový kód.


[#13] hubija

patrně se mi nevložil celý příspěvek... ještě dopíšu


[#13] hubija
nevím, proč se nepřiložil zbytek mojí předchozí zprávy, ale ve zkratce, jelikož to dělám pro kamaráda jen ze známosti, neživím se tím, tak nejsem v tomto oboru odborník. Takže pokud mi někdo chce dát radu moc ji uvítám, zejména pokud bude podložená i nějakým stručným postupem... proto se přišel do této diskuze



hubija

ani celý zápis z respond.js se nepřiložil celý.. tak ještě jednou:

Moderátor Chamurappi: Odstraněn kompletní zdrojový kód. V příspěvcích níže je na dotyčný soubor odkázáno.
Chamurappi
Profil
Reaguji na hubiju:
kdyby mi právě nepřišla zpětná vazba, že se vyskytuje problém ve zmíňěném prohlížeči, tak by o problému ani nevěděl
To jsi při vší úctě docela lajdák, že si stránku sám ani nevyzkoušíš ve všech používaných prohlížečích. Kdybys kontroloval své dílo průběžně ve všech prohlížečích, nedostal by ses do takhle hloupé pozice, že musíš hledat chyby dodatečně.

Nervi sem prosím dlouhé zdrojáky, nejsme pastebin. Chceš-li nám ukázat nějaký kód skriptu, proč na něj prostě neodkážeš? Zdrojáky vkládej až v případě, že budeš vědět, kde je chyba — a vložíš jen ten kus, kterého se chyba týká. Co si představuješ, že s tímhle flákem, který se ti navzdory úmyslnému limitu na délku příspěvku povedlo vložit, uděláme? Není to ani naformátované…

Podíval jsem se na tvoji stránku v Exploreru 8 a sestřelila mi prohlížeč, proces iexplore.exe spadnul. Takže popisovanou chybu jsem neviděl kvůli této závažnější. Nevím, co ji způsobuje, ale nastává mi při každé návštěvě webu www.ha-ma.cz.

nevím proč na většině fór 90% lidí neřeší samotný problém
Upekl jsi stokrát dobrý dort a nyní se divíš, že některé přísady strávníkům nešmakují (případně je rovnou vraždí). Otázka, proč jsi přidal tolik přísad, je na místě, byť trochu nepříjemná. Představa, že si teď nějaký odborník k tomu sedne, čtyři hodiny bude číst všechny skripty řádek po řádku a pak zvolá „heuréka, může za to řádek 8472“, je velice naivní. To bych nejspíš nechtěl dělat ani za peníze.

Má nejlepší možná rada zní: Odmazávej. Až odmažeš blok, který chybu způsobuje, chyba zmizí. Můžeš vyjít z předpokladu, že samotný respond.js problém nezpůsobuje, ten nemaž. Jsem ochotný ti v průběhu následujících pěti hodin říkat, jestli padání v mém Exploreru 8 přetrvává. (Ačkoliv tedy není jisté, že má sestřelení stejnou příčinu jako zmíněná JS chyba.)

Možná ti dá někdo lepší radu.
hubija
Profil *
Chamurappi:
To jsi při vší úctě docela lajdák, že si stránku sám ani nevyzkoušíš ve všech používaných prohlížečích.
právě proto, že nejsem lajdák jsem poslal odkaz na web mým kamarádům s tím, ať se kouknou jesrli se jim tato stránka zobrazuje správě, protože ze zkušenosti vím, že se občas stane ža na jednom PC s několika prohlížeči vše funguje a na druhém nikoliv. Stránky jsou sice v "ostrém" viditelném provozu, ale rozhodně je nepovažuji za dodělané.

Nervi sem prosím dlouhé zdrojáky, nejsme pastebin. Chceš-li nám ukázat nějaký kód skriptu, proč na něj prostě neodkážeš?
Myslel jsi to takto?: http://ha-ma.cz/wp-content/themes/flozo/assets/scripts/respond.js

sestřelila mi prohlížeč, proces iexplore.exe spadnul
Ano právě tento problém od samého začátku řeším - při volbě " hledat řešení online" IE8 hledá problém a nakonec stránku zobrazí... ve stavovém řádku je ikona s vykříčníkem, po kliknutí se oběví okno, kde je napsaná lokace chyby. Viz můj předchozí příspěvěk. Pro jistotu uvedu ještě printscreen:
[img] [/img]

Můžeš vyjít z předpokladu, že samotný respond.js problém nezpůsobuje, ten nemaž.“ V tom případě nevím odkud bych měl mazat
Micruss
Profil
hubija:
zkus odstranit všecky kódy JS a postupně je tam zase vracej a zároveň to testuj na IE a uvidíš jestli to vůbec zaviňuje js... ;-) a taky nejspíš v jakým souboru bo kodu je chyba
hubija
Profil *
Micruss:
Supr diky, zkusim to :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0