'팁&테크/Javascript'에 해당되는 글 19건

  1. 2010.11.25 자바스크립트 문자열 byte 단위 자르기 및 byte 구하기 1
  2. 2007.07.03 PHP Sleep 함수 구현
  3. 2007.06.29 Ajax 한글전송
  4. 2007.06.29 iframe 페이지 크기에 맞게 자동 resize
  5. 2007.06.29 iframe 자동크기조절
  6. 2007.06.29 php 함수를 자바스크립트로
  7. 2007.06.29 자바스크립트로 쿠키 처리
  8. 2007.06.29 팝업창 화면 크기에 맞게 띄우기
  9. 2007.06.29 팝업창 화면 중앙에 띄우기
2010. 11. 25. 09:10

자바스크립트 문자열 byte 단위 자르기 및 byte 구하기

/** 
* string String::cutByte(int len)
* 글자를 앞에서부터 원하는 바이트만큼 잘라 리턴합니다.
* 한글의 경우 2바이트로 계산하며, 글자 중간에서 잘리지 않습니다.
*/
String.prototype.cutByte = function(len) {
var str = this;
var count = 0;
 
for(var i = 0; i < str.length; i++) {
if(escape(str.charAt(i)).length >= 4)
count += 2;
else
if(escape(str.charAt(i)) != "%0D")
count++;

if(count >  len{
if(escape(str.charAt(i)) == "%0A")
i--;
break;
}
}
return str.substring(0, i);
}

/** 
* bool String::byte(void)
* 해당스트링의 바이트단위 길이를 리턴합니다. (기존의 length 속성은 2바이트 문자를 한글자로 간주합니다)
*/
String.prototype.byte = function() {
var str = this;
        var length = 0; 
for(var i = 0; i < str.length; i++)
{
if(escape(str.charAt(i)).length >= 4)
length += 2;
else if(escape(str.charAt(i)) == "%A7")
length += 2;
else
if(escape(str.charAt(i)) != "%0D")
length++;
}
       
return length; 
}
2007. 7. 3. 12:01

PHP Sleep 함수 구현


<script language="JavaScript">
<!--
function sleep(sec) {
    var now = new Date();
    var exitTime = now.getTime() + (sec*1000);
    while (true) {
          now = new Date();
          if (now.getTime() > exitTime) return;
    }
}

sleep(5);
alert('메롱');
//-->
</script>




출처 : PHPSCHOOL 지우님
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>

2007. 6. 29. 15:43

자바스크립트로 쿠키 처리


<script language="javascript" type="text/javascript">
function GetCookie (name) {
 var arg = name + "=";
 var alen = arg.length;
 var clen = document_.cookie.length;
 var i = 0;
 while (i < clen) {
  var j = i + alen;
  if (document_.cookie.substring(i, j) == arg)
   return getCookieVal (j);
  i = document_.cookie.indexOf(" ", i) + 1;
  if (i == 0) break;
 }
 return null;
}


function SetCookie (name, value) {
 var argv = SetCookie.arguments;
 var argc = SetCookie.arguments.length;
 var expires = (argc > 2) ? argv[2] : null;
 var path = (argc > 3) ? argv[3] : null;
 var domain = (argc > 4) ? argv[4] : null;
 var secure = (argc > 5) ? argv[5] : false;

 if(expire) {
   todayDate.setDate(todayDate.getDate() + expires);
 }

 document_.cookie = name + "=" + escape (value) +
 ((expires == null) ? "" : ("; expires=" + todayDate.toGMTString())) +
 ((path == null) ? "" : ("; path=" + path)) +
 ((domain == null) ? "" : ("; domain=" + domain)) +
 ((secure == true) ? "; secure" : "");
}


function DeleteCookie (name) {
 var exp = new Date();
 exp.setTime (exp.getTime() - 1);
 var cval = GetCookie (name);
 document_.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
} 
</script>

2007. 6. 29. 15:42

팝업창 화면 크기에 맞게 띄우기


<script language="javascript" type="text/javascript">
function resizeWindow(){
  if(document.all)
  { 
    var x = (document.body.scrollWidth  > 1000) ? 1000 : document.body.scrollWidth;
    var y = (document.body.scrollHeight > 700)  ? 700  : document.body.scrollHeight;
    x -= document.body.clientWidth;
    y -= document.body.clientHeight;
    window.resizeBy(x, y);
  }
}

resizeWindow();
</script>

2007. 6. 29. 15:41

팝업창 화면 중앙에 띄우기



<script language="javascript" type="text/javascript">
function MoveCenterWindow(){
  var cx = document.body.clientWidth;
  var cy = document.body.clientHeight;
  var sw = screen.availWidth;
  var sh = screen.availHeight;
  var px = (sw-cx)/2;
  var py = (sh-cy)/2

  window.moveTo(px, py);
}

MoveCenterWindow();
</script>