Programming/Javascript | Posted by locke 2013.05.29 09:43

jquery ready 와 load의 차이

$(document).ready(function(){

});

브라우저에서 DOM 트리를 생성하고난 후에 실행되게 되는 코드(DOM is ready)


$(window).load(function(){

}); 

모든 include 들과 object들, 이미지까지 로드된 이후에 실행

Programming | Posted by locke 2011.11.18 14:44

href 정리

새창을 열게해준 창의 주소를 바꾼다. 
opener.location.href = url; 

새창을 열게해준 창의 주소를 새로고침
opener.location.reload();

다른 프래임의 주소를 바꾼다.
frame_name.location.href = url;

프레임 구조상 상위 프래임의 주소를 바꾼다 
parent.location.href = url;  

타겟이 지정된 프레임을 바꾼다.
parent.target(target).location.href = url; 

최상위 변경
top.location.href = url; 

현재창 변경
self.location.href = url;

<script type="text/javascript" src="jquery.pngFix.js"></script>

$(document).ready(function(){
        $(document).pngFix();
});

Programming/Javascript | Posted by locke 2010.06.16 15:15

ascii2native


아스키로 변경된 한글코드가 있어 원래값을 확인해보기 위해 자바스크립트로 만들어 봄.

Programming/JAVA | Posted by locke 2010.03.11 13:24

아주 심플한 업로드

정식으로 만들기도 귀찮고해서(망할 프레임워크..ㅠㅠ) 아주 간단하게 만든 파일 업로드 소스. 첨부한 cos.jar를 lib에 추가하고 쓸것.

<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="java.io.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest" %>
<%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@ include file="config.jsp" %>
<%

int maxSize  = 1024*1024*30;
 
String root=request.getSession().getServletContext().getRealPath("/");
String uploadFile="";


try{
   MultipartRequest multi= new MultipartRequest(request,SAVE_DIR,maxSize, new DefaultFileRenamePolicy());
   
   uploadFile=multi.getFilesystemName("file");
  
  
   File oldFile = new File(SAVE_DIR+uploadFile);

  
   uploadFile= new String(uploadFile.getBytes("8859_1"),"utf-8");

    String fileName = "";
    for (int i=1; i < 21; i++) {
        int rnd = 1 + (int)(Math.random() * 52);
        rnd = (rnd > 26) ? rnd + 70 : rnd + 64;
        fileName = fileName + (char)(rnd);
    }

   File newFile = new File(SAVE_DIR+fileName+".jpg");

   long dataLength;
   dataLength = oldFile.length();

   if(!oldFile.renameTo(newFile)){
        byte[] buf = new byte[1024];
        FileInputStream fin = new FileInputStream(oldFile);
        FileOutputStream fout = new FileOutputStream(newFile);
        int read = 0;
        while((read=fin.read(buf,0,buf.length))!=-1){
         fout.write(buf, 0, read);
        }
        fin.close();
        fout.close();
        oldFile.delete();
    }   

String saveAsFile = SAVE_DIR + fileName;

//System.out.println("{ fileUrl:'" + SAVE_URL + fileName+".jpg" + "', filePath:'" + saveAsFile+".jpg" +
// "', origName:'" + fileName+".jpg" + "', fileName:'" + fileName+".jpg" + "', fileSize:'"+dataLength+"'}");

 out.println("{ fileUrl:'" + SAVE_URL + fileName+".jpg" + "', filePath:'" + saveAsFile+".jpg" +
 "', origName:'" + fileName+".jpg" + "', fileName:'" + fileName+".jpg" + "', fileSize:'"+dataLength+"'}");

}catch(Exception e){e.printStackTrace();}

%>

VS2005에 ASP.NET AJAX Extensions 1.0을 설치후 실행시 'Sys'이(가) 정의되지 않았습니다. 오류발생시
Web.config 파일의 <system.web>사이에 아래구문을 추가한다.
        <httpHandlers>
            <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
        </httpHandlers>

        <httpModules>
            <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </httpModules>


한서버는 utf-8, 다른 하나는 euc-kr일때 한글처리 방법

다른 서버간에 한글처리시 양쪽페이지및 기타선언을 utf-8로 해야 깨지지않는다는 고정관념때문에 무려 세시간이나 삽질하면서 알아낸 방법이다.

굳이 다른서버간에 인코딩을 맞추기 위해 삽질을 할필요없다. 최악에는 웹서버의 설정을 건드려야한다는 벽에 부딪히게 되는데 거기까지 갈필요는 없고..그냥 각각 utf-8 , euc-kr을 사용하면 된다.
다만 보내는곳(utf-8)에서는

a.jsp?name= <%=URLEncoder.encode(pSuname, "euc-kr")%>

받는곳에서는 그냥 받으면 된다...그냥...-_-;...
정 찝찝하면 상단에 <%@ page contentType="text/html; charset=euc-kr"%>
이것을 선언해줘라....어찌보면 당연한건데도 이걸 못찾아서 삽질을 하다니.....계속되는 밤샘으로 머리가 많이 굳었나보다...
Programming/C# | Posted by locke 2007.03.14 21:07

C#으로 MHT파일 만들기

//****************************** 사용법 **********************************

//MHT 파일 저장

//사용하기 위하여 Microsoft CDO For Exchange 2000 Library 를 참조하여야만 한다.

//왜냐하면 그걸 이용하여 만드는 거니깐.. ^^
SaveMHTResult = SaveMHT(h_content, r_ItemID, r_BoardID, textBox1.Text.Trim());
if (SaveMHTResult == false)
{
     MessageBox.Show("ERROR:MHT 파일을 저장하는데 실패하였습니다.");
 }


//****************************** 사용함수**********************************

//Mht 파일을 저장하기 위한 함수
  public bool SaveMHT(string strHTML, string strMHTFilename, string strBoardID, string strFilePath)
  {
   string DocPath = "";
   string mhtfilePath = "";

   try
   {
    strHTML = strHTML.Replace("'", "''");
     
    DocPath = strFilePath + "\\";
     
    if (System.IO.Directory.Exists(DocPath + strBoardID) == false)
    {
     System.IO.Directory.CreateDirectory(DocPath + strBoardID);
     System.IO.Directory.CreateDirectory(DocPath + strBoardID + "\\UploadFile");
     System.IO.Directory.CreateDirectory(DocPath + strBoardID + "\\doc");
    }

    mhtfilePath = DocPath + strBoardID + "\\doc\\" + strMHTFilename + ".htm";
    string mhtfilePath2 = DocPath + strBoardID + "\\doc\\" + strMHTFilename + ".mht";
   
    //StremWriter를 이용하여 임시 HTML파일을 생성한다.
    if (System.IO.File.Exists(mhtfilePath)) System.IO.File.Delete(mhtfilePath);
    StreamWriter output = new StreamWriter(mhtfilePath, false, System.Text.Encoding.Default);
    output.WriteLine(strHTML);
    output.Close();

    //등록된 Html파일의 URL 주소를 가져 와서 CDO객체를 이용하여 MHT를 생성 한다.
    string fileURL = @"html을 저장할 절대 경로위치".htm";
    CDO.Message iMsg = new CDO.MessageClass();
    iMsg.CreateMHTMLBody(fileURL,0,"","");

    //등록된 Html파일의 URL 주소를 가져 와서 CDO객체를 이용하여 MHT를 생성 한다.
    if (System.IO.File.Exists(mhtfilePath2)) System.IO.File.Delete(mhtfilePath2);
    ADODB.Stream streamStr = new ADODB.StreamClass();
    streamStr = iMsg.GetStream();
    streamStr.SaveToFile(mhtfilePath2,ADODB.SaveOptionsEnum.adSaveCreateOverWrite);

    streamStr.Close();

    //등록된 Html파일을 삭제 한다.
    if (System.IO.File.Exists(mhtfilePath)) System.IO.File.Delete(mhtfilePath);  

    return true;
   }
   catch(Exception e)
   {
    MessageBox.Show(e.Message);
    return false;
   }    

  }



TAGc#