Android phone 에서의 navigator properties

ITWeb/개발일반 2011. 10. 25. 11:45
[참고 사이트]
http://www.w3.org/Mobile/Specifications
http://www.quirksmode.org/js/detect.html
http://www.mobilexweb.com/blog/android-froyo-html5-accelerometer-flash-player
http://www.quirksmode.org/m/tests/browserdetect.html

일반 PC browser 와 Mobile browser 의 navigator property/attribute 가 다릅니다.
그래서 걍 list 정리해 봅니다. (Android WebView 브라우저에서 확인함)

navigator

.language
.product
.mimeTypes
.appVersion : 5.0 (Linux; U; Android2.3.5; en-ca; SGH-I727R Build/GINGERBREAD) AppleWebKit/533.1(KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
.plugins
.onLine
.connection
.platform
.vendor
.appCodeName
.geolocation
.cookieEnabled
.appName
.productSub
.userAgent : Mozilla/5.0 (Linux; U; Android2.3.5; en-ca; SGH-I727R Build/GINGERBREAD) AppleWebKit/533.1(KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
.vendorSub
.javaEnabled
.isApplicationInstalled
.getStorageUpdates
.registerProtocolHandler
.registerContentHandler 



:

window.postMessage 알아보기.

ITWeb/개발일반 2011. 10. 25. 10:01
[참고 URL]
https://developer.mozilla.org/en/DOM/window.postMessage
http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#web-messaging


window.postMessage 는 cross domain 간 데이터를 주고 받는데 아주 유용한 기법을 제공 합니다.
자세한 spec 은.. 위 URL 참고 하시면 됩니다.


http://192.168.1.1/siteA.html

0. siteB 를 allow 할 allowOrigin 정의를 합니다.
var allowOrigin = "http://192.168.2.1";

1. siteB 에서 전송한 postMessage 이벤트를 catch 하기 위해서 event 등록을 합니다.
window.addEventListener("message", postMessageController, true); 또는
window.attachEvent("onmesage", postMessageController);

2. siteB 의 postMessage 이벤트를 catch 해서 실행 시킬 postMessageController 함수 작성을 합니다.
function postMessageController(e) {
    if ( e.origin === allowOrigin ) {
        // 실행 시킬 코드를 작성 하세요.
        alert(e.data); // e.data 는 siteB 에서 전달 받은 message 입니다.
    }
}

http://192.168.2.1/siteB.html

0. siteA 와 통신 하기 위한 allowOrigin 을 정의 합니다. (allowOrigin 은 그냥 임의 정의한 변수명 입니다. 바꾸셔도 되요.)
var allowOrigin = "http://192.168.1.1"; 

1. siteA 로 전달할 message 용 함수를 작성 합니다.
function sendMessage () {
    window.parent.postMessage("Hi! Good to see you.", allowOrigin);
}
이 함수를 실행 시키면 siteA 의 postMessageController 가 동작 하게 됩니다. 



이 두개 파일의 구조는 siteA.html 에 iframe 으로 siteB.html 을 embedded 시켜놓은 구조 입니다.

<html>

<head>

<title>siteA.html</title>

</head>

<body style="background:#000000;">

<iframe name="siteB" id="siteB" src="http://192.168.2.1/siteB.html" border="0" frameborder="0" width="320" height="48" scrolling="no"></iframe>

</body>

</html>



위의 샘플 pseudo code 는 siteB 에서 siteA 로 메시지를 전달 하는 예 입니다.
그렇기 때문에 siteA 에서 siteB 로 메시지를 전달하고 싶을 경우는 siteB 에 event 등록해 주시고 siteA 에서 iframe 의 window 객체를 얻어서 postMessage 를 실행 시키시면 됩니다.


 
:

모바일 웹 : navigator.geolocation 이용하기.

ITWeb/개발일반 2011. 10. 24. 10:22
참고 URL : http://dev.w3.org/geo/api/spec-source.html
지원 브라우저는 safari, firefox, chrome 에서 지원됨.

<html>

<head>

<script>

function successCallback(position) {

alert(position.coords.latitude + " : " + position.coords.longitude);

}


function errorCallback(error) {

alert(error.message);

}


function load(){ 

if ( navigator.geolocation ) {

navigator.geolocation.getCurrentPosition(successCallback, errorCallback);

} else {

alert("geolocation not supported");

}

}

</script>

</head>

<body onload="load()">

</body>

</html>



크롬에서 로컬 파일 실행 시켜서 테스트 했더니 주소창에 "위치추적이 차단 되었습니다." 라고 아이콘 뜨고 안됩니다.
서버에 올려서 테스트 하시면 "허용/차단" 버튼 나오면서 정상 동작 확인 가능 합니다.

successCallback, errorCallback 함수 등에 대해서는 
기본 위의 참고URL 가셔서 spec 문서 한번 읽어 보시면 쉽게 이해 되실 거예요.

:

연지성장동영상 사진 효과 제거

Legacy 2011. 10. 23. 14:34


:

연지 성장 동영상

Legacy 2011. 10. 23. 11:57

: