mozilla
Your Search Results

    Nefunkční prvky stránky

    Problém je ve většině případů způsoben používáním document.all a document.layers. Jde o zastaralé objektové modely prvních opravdu použitelných prohlížečů. Document.all přišel spolu s MSIE 4, document.layers přinesl Netscape Communicator 4 v době tzv. "války prohlížečů". Oba modely jsou nestandardní a další verze těchto prohlížeču podporují standardizovaný DOM. Nekvalitní a v řadě případů také zastaralá literatura, nevhodné editory a zažité postupy však tyto modely stále používají.

    Jelikož se prohlížeče MSIE 4 a Netscape 4 již prakticky nevyskytují, je oprava za použití DOM jednoduchá. Stačí provést v javascriptovém kódu následující záměnu:

    • document.all.id-objektu.hodnota -> document.getElementById("id-objektu").hodnota
    • document.layers.id-objektu.hodnota -> document.getElementById("id-objektu").hodnota

    Pro případ, že i přesto chcete podporovat "čtyřkové" prohlížeče (za cenu ztráty řady vlastností v DOM), se nabízí v JavaScriptu následující řešení:

    var IE=(document.all)?1:0;
    var NS=(document.layers)?1:0;
    var DOM=(document.getElementById)?1:0;
    
    function GetObject(obj) {
    	if (DOM) myObject=document.getElementById(obj);
    		else if (IE) myObject=eval('document.all.'+obj);
    			else if (NS) myObject=eval('document.layers.'+obj);
    	return myObject;
    }
    

    Potom místo document.all, document.layers i document.getElementById stačí používat univerzální funkci GetObject. Tedy například GetObject("id-objektu").hodnota

    Související odkazy

    Informace o původním dokumentu

    • Autor: Josef Kotva

    Document Tags and Contributors

    Contributors to this page: Triceo, Majda
    Last updated by: Triceo,