2007. 6. 29. 15:45

Ajax 한글전송

JavaScript 에서보내고 --> PHP 받을때
encodeURIComponent( string ) --> rawurldecode( iconv( "UTF-8", "CP949", $string ) )
PHP 에서 보내고  --> JavaScript 받을때
rawurlencode( iconv( "CP949", "UTF-8", $string ) ) --> decodeURIComponent( string )
2007. 6. 29. 15:44

iframe 페이지 크기에 맞게 자동 resize

function voidResizeFrame(){  //페이지가 로딩되면 바로 리사이즈..
 var h = parseInt(document.body.scrollHeight);
 self.resizeTo(document.body.scrollWidth + (document.body.offsetWidth-document.body.clientWidth), h);
}

voidResizeFrame();

iframe 페이지 내에 넣어둠

2007. 6. 29. 15:44

iframe 자동크기조절

[소스: frame.html]
<script>
        function syncHeight(el) {
                el = typeof el == 'string' ? document.getElementById(el) : el;
                el.setExpression('height','contentWindow.document.body.scrollHeight+5');
        }
</script>
<iframe name="test" id="test" src="content.html" on-Load="syncHeight(this)"></iframe>
[/소스]

[소스:content.html]
...
이것은 iframe 내용입니다.<br>
이것은 iframe 내용입니다.<br>
이것은 iframe 내용입니다.<br>
이것은 iframe 내용입니다.<br>
<button o-nClick="this.outerHTML='이것은 추가된내용입니다<br>'+this.outerHTML">누르면 내용이 추가됩니다</button>
[/소스]

2007. 6. 29. 15:43

php 함수를 자바스크립트로


자바스크립트용으로 PHP의 함수들을 흉내내본 것입니다.
더 필요한 게 있으면 그때그때 추가할 예정입니다.
기능 건의 받습니다. -_- v

prototype 으로 정의되어있어서...

("<b>test</b>").stripTags();

혹은

var str = "  !!!! ";
str = str.trim();

과 같이 사용가능합니다.

<script language="javascript" type="text/javascript">
// HTML 특수문자를 변환
String.prototype.htmlChars = function () {
       var str = ((this.replace('"', '&amp;')).replace('"', '&quot;')).replace('\'', '&#39;');
       return (str.replace('<', '&lt;')).replace('>', '&gt;');
}

// 좌우 공백없애는 함수
String.prototype.trim = function () { return this.replace(/(^s*)|(s*$)/g, ""); }

// 왼쪽 공백없애는 함수
String.prototype.ltrim = function () { return this.replace(/^s*/g, ""); }

// 오른쪽 공백없애는 함수
String.prototype.rtrim = function () { return this.replace(/s*$/g, ""); }

// 태그만 제거
String.prototype.stripTags = function () {
       var str = this;
       var pos1 = str.indexOf('<');

    if (pos1 == -1) return str;
    else {
        var pos2 = str.indexOf('>', pos1);
        if (pos2 == -1) return str;
        return (str.substr(0, pos1) + str.substr(pos2+1)).stripTags();
    }
}

// 대소문자 구별하지 않고 단어 위치 찾기
String.prototype.ipos = function (needle, offset) {
       var offset = (typeof offset == "number")?offset:0;
       return str.toLowerCase().indexOf(needle.toLowerCase(), offset);
}

// 대소문자 구별하지 않고 뒤에서부터 단어위치 찾기
String.prototype.ripos = function (needle, offset) {
       var offset = (typeof offset == "number")?offset:0;
       return str.toLowerCase().lastIndexOf(needle.toLowerCase(), offset);
}

// 문자열을 배열로
String.prototype.toArray = function () {
       var len = this.length;
       var arr = new Array;
       for (var i=0; i<len; i++) arr[i] = this.charAt(i);
       return arr;
}
</script>