소프트웨어/JavaScript • Dhtml

Firefox용 innerText

falconer 2007. 5. 26. 11:46

Firefox에는 innerHTML만 있고 innerText는 없읍니다.

다음과 같이하면 대강 비슷하게는 됩니다.

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

// IE에서는 innerText 된다.
sText = document.getElementbyId("idText").innerText;

// IE/FF공용 ( FF는 innerTextIE가 없다. )
sText = document.getElementbyId("idText").innerHTML;
sText = sText.replace(/(<br>)/ig," ");
sText = sText.replace(/(<[^>]+>)/g,"");

</SCRIPT>


출처 : phpschool


아래 내용은 덧글입니다. 읽으면서 따라 내려가면 재미가 있네요...마지막 부분에 제목에 정답이 있을지도..

http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=54096&page=1


Code1 :

var node = document.getElementById('idText');
node.innerHTML = '';
node.appendChild(document.createTextNode('some text'));


아... 받아올때는...
IE 에서는 node.innerText;
FF 에서는 var itext  = document.createRange().selectNodeContents(node).toString();


Code2 :

try {

    HTMLElement.prototype.__defineGetter__("innerText", function() { return this.textContent; });
    HTMLElement.prototype.__defineSetter__("innerText", function(txt) { this.textContent = txt; });

} catch(e) {

    try {
        HTMLElement.prototype.innerText getter = function() { return this.textContent; };
        HTMLElement.prototype.innerText setter = function(txt) { this.textContent = txt; };
    } catch(e) {}

}


Code3 :

if ( 파폭인가 ?  ){
HTMLElement.prototype.__defineGetter__("innerText", function() { return this.textContent; });
HTMLElement.prototype.__defineSetter__("innerText", function(txt) { this.textContent = txt; });
}

이렇게 쓰시면 통합된 스크립팅을 하실 수 있습니다.