아이폰이나 안드로이드폰에서 XE에 접속하면 모바일 페이지를 볼 수 있다.
물론 모바일 설정이 되어 있다면...모바일 설정은 여기 참고 => http://www.bek.me/442944

하지만 안타깝게도 1.4.4.1 버전을 쓰고 있는데 노키아 익스프레스뮤직에서 모바일 페이지가 보이지 않는다 ㅜㅜ
XpressEngine에서는 수정하였다고 하지만 그 수정이 아직 내 익뮤에 은총을 내리진 못하였다.
http://xe.xpressengine.net/19160983

그래서 직접 수정하였다.
현재 사용하고 있는 기종은 Nokia XpressMusic N5800 모델이다.
이 기종에서 사용하고 있는 브라우저는 기본브라우저와 오페라 미니.

수정할 파일은 XpressEngine의 이슈트래커에서와 같이 xe/classes/mobile/Mobile.class.php 파일이다.
이 파일의 _isFromMobilePhone() 함수안(37번째 라인)에서 아래 부분을 추가해 준다.
if(preg_match('/(iPod|iPhone|Android|BlackBerry|SymbianOS|Opera Mini|Nokia|SCH\-M[0-9]+)/',$_SERVER['HTTP_USER_AGENT']))

이제는 내 익뮤에서도 모바일 페이지를 제대로 볼 수 있다.
저작자 표시 동일 조건 변경 허락
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/120 관련글 쓰기

댓글을 달아 주세요



아...꼬박 이틀동안 삽질했다 -_-;;;;
jQuery를 배워보고자 어제부터 즐겨하는 게임을 위해(WOW) PostgresSQL+PHP+jQuery로 간단한 프로그래밍을 시작하였다.

암튼!
jQuery로 AJAX와 XML 처리가 간단하다고 하여...요즘 트랜드라고도 하고...해서...
jQuery로 해당 부분을 시험삼아 개발하고 있는 중...
Iron(≒크롬)과 Firefox에서는 정상동작 하지만 IE(익스플로러)에서는 동작하지 않는 것을 발견하였다.

먼저 처리할 XML 문서는 다음과 같다.
<?xml version="1.0" encoding="UTF-8" ?><Users>
    <user id="1" userid="test2" name="체리" time_stamp="1259052018" />
    <user id="2" userid="test" name="테스트" time_stamp="1259052020" />
</Users>

이렇게 문서가 정상적으로 처리되는 것을 확인하였고 각 브라우저에서도 제대로 읽히는 것을 확인하였다.
하지만...다음의 자바스크립트 코드로 읽어보니...IE에서만 동작하지 않는 것이다.
$.ajax({
	type: "GET",
	url: "<?=$wow['path']?>/ajax/userlist.php",
	dayaType:"xml",
	success: processXML});

function processXML(xml){
	var i = 0;
	$(xml).find('user').each(function() {
		$("#userTable").append("<tr id=\"userTableRow_"+(i)+"\">"
		+"<td><a href=\"javascript:deleteRow('userTableRow_"+(i++)+"');\">삭제</a></td>"		+"<td>"+$(this).attr("userid")+"</td>"
		+"<td>"+$(this).attr("name")+"</td>"
		+"<td>"+$(this).attr("time_stamp")+"</td>"
		+"</tr>");
	});
	displayFootCaption('userTableFoot', $("#userTable tbody tr").length);}

이것저것 하다 알아보니 $(xml).find("user")에서 find() 함수가 동작하지 않는 것을 확인하였다..
왜 그럴까..왜 그럴까...무지하게 고민하고 책도 보고 인터넷도 찾아보고 하는 도중..
아래의 블로그를 찾아내었다.
결론을 말하면..
IE에서 해더 없이는 XML로 제대로 인식이 안 된다는 것이었다.
왜!!!!!!!!!! 왜!!!!!!! 그냥 문서를 직접 URL 타이핑 해서 읽을 땐 XML로 잘 인식을 했냔 말이다 ㅠㅠ

위의 블로그에 해결 방안들을 제시하고 있지만, XML 문서를 생성하는 소스를 수정하는 것이 제일 정직하고 확실한 방법인 것 같다.
아래와 같이 해더를 추가해 주면 된다.
PHP로 개발하고 있는 것이기에 아래와 같이...
header('content-type:application/xml; charset=utf-8');

PHP가 아니라 다른 언어로 개발 중이라면 위의 내용과 맞게 수정해 주면 된다.
단, 지금 개발 하는 것이 UTF-8로 개발하고 있기에 위의 코드가 나오는데..
euc_kr이나 다른 언어로 개발 중이라고 하면 해당 언어 코드로 변경을 해 주어야 하는 것은 당연!!

감사합니다. LazyGyu님! ^^
저작자 표시 동일 조건 변경 허락
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/89 관련글 쓰기

댓글을 달아 주세요

  1. 2009/11/25 20:10

    제 포스팅이 도움이 되셨다니 제가 더 기쁘네요 ㅠㅠ

  2. 2011/04/03 04:37

    헤더를 바꾸는것도 그렇고 링크 가서도 원하는 답을 얻었네요..감사합니다..


동적으로 페이지를 구성하기 위하여 innerHTML을 사용하게 되는데,
FF 계열은 문제가 없으나 IE 계열에서 문제가 발생한다.
만일 innerHTML로 대입하려는 문자열에 form 태그가 존재한다면 innerHTML은 동작하지 않는다.

var oDiv = document.getElementById("testdiv");
oDiv.innerHTML = "<form><input type="text"></form>";  // 오류 발생
oDiv.innerHTML = "<input type="text">";                        // 정상

회피할 수 있는 방법은 없다.
innerHTML로 oDiv 객체 안에 다른 객체를 넣어서 그 객체의 innerHTML을 하더라도 오류가 발생한다.
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/55 관련글 쓰기

댓글을 달아 주세요


import java.util.Locale;
import java.util.ResourceBundel;
위와 같이 먼저 사용하는 것들을 import.

ResourceBundel rb = ResourceBundel.getBundel("파일명", Locale.getDefault());
위와 같이 resourcebundel을 선언해 준다.
파일명은 classes 폴더를 기준으로 작성하면 된다.
예를들어 classes 디렉토리 아래 lang이란 폴더에 lang.properties라는 파일로 국제화를 제공한다면,
/lang/lang으로 적어주면 된다.
classes 디렉토리 상위에도 작성 가능한지 여부는 모르겠다.

MyException(new String(rb.getString("board.name").getBytes("8859_1"), "KSC5601"));
이런식으로 처리하면 한글 출력도 문제 없다.

내 환경 : properties 파일은 unix 파일로 되어 있고 서비스는 utf-8을 제공한다.
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/52 관련글 쓰기

댓글을 달아 주세요


아래와 같은 메시지가 출력 된다면...

javax.servlet.ServletException:  
--- The error occurred in /sql/board.postgresql.xml. 
--- The error occurred while applying a parameter map. 
--- Check the ArticleProperties. 
--- Check the parameter mapping for the 'idnum' property. 
--- Cause: org.postgresql.util.PSQLException: The column index is out of range: 1, number of columns: 0.
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
com.lmsdev.core.BaseServlet.doPost(BaseServlet.java:40)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

ArticleProperties와 연결된 클래스에서 모든 변수에 값이 제대로 입력 되었는지 확인해 봐야 한다.
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/51 관련글 쓰기

댓글을 달아 주세요

이전버튼 1 2 3 이전버튼