Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: designMode ja aktiivisen elementin tunnistus

nixu89 [12.10.2006 18:55:50]

#

Projektina siis wysiwyg-editori, ja ongelma koskee tällä hetkellä valitun elementin tunnistamista ja sen sijainnin (parentElement() käyttämällä) tulostaminen, esim.

lainaus:

<body> <table> <tbody> <tr> <td>

Koodi on tällä hetkellä seuraava:

function getSel() {

	var selection = '';

	if (window.getSelection) {
		selection = document.getElementById('edit').contentWindow.getSelection();
	}
	else if (document.getSelection) {
		selection = document.getElementById('edit').contentWindow.document.getSelection();
	}
	else if (document.selection) {
		selection = document.getElementById('edit').contentWindow.document.selection.createRange();
	}
    else {
    	return false;
    }

    return selection;

}

var naytetaankoTaso = true;
function naytaTaso() {

	if (format == "html") {
    	var tr = getSel();

	    if (naytetaankoTaso) {
        	var taso = new Array();
            while (tr && tr.parentElement && tr.nodeName != '') {

                if (tr.parentElement == "[object]") { // 1)
	                tr = tr.parentElement;
	            }
	            else {
	                tr = tr.parentElement();
	            }

                taso.push(tr.nodeName);
	        }

	        var tasotxt = '';
	        for (i = 0; i < taso.length; i++) {
	            tasotxt += '&lt;' + taso[(taso.length-1)-i] + '&gt; ';
	        }

	        document.getElementById('naytaTaso').innerHTML = '' + tasotxt + '';
	    }
        else {

        }
	}

}

IE:llä toistaiseksi näyttää polun

lainaus:

<html> <body>

, kun mitään elementtiä ei ole valittuna, vaan osoitin on sivulla. FF tai Opera taas tulostaa tyhjää tekstiä tr:n hauksi.

1) [object] tulostuu vain IE:llä, FF ja Opera tulostavat [object**element]. Olisko test() mitään testaamaan vain, jos tuo object löytyy?

hmmp [16.10.2006 18:49:13]

#

All you need is http://www.fckeditor.net/

nixu89 [24.10.2006 21:45:17]

#

Now you just lost me.
En löydä lähdekoodeista apua aiheeseen...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta