각 브라우저마다 고유 한 확장 프로그램을 빌드하지 않는 한 어쨌든 일반 브라우저에서 Android API를 호출 할 수는 없습니다 (DOM 모델의 일부로 제공되지 않음). 지루한 작업 일 수도 있고 가치가 없을 수도 있습니다. 바로 이것이 바로 임베디드 WebView가 Phonegap과 같은 이유입니다.
이제 언제든지 서버에서 WebView에서 웹 페이지를로드하는 다른 방법을 시도해 볼 수 있습니다. 기본적으로 웹보기는 기기의 로컬 저장소에서 콘텐츠를로드하지만 XHR을 사용하면 기존 웹 페이지를 호출하여 웹보기에 표시 할 수 있습니다.
브라우저에서 전체 페이지를 완전히로드하기 위해 서버 또는 iframe의 콘텐츠를 포함 할 수있는 div를 사용하여이 작업을 수행 할 수 있습니다. 두 번째 접근법은 현재 웹 페이지를 완전히 재사용 할 수 있기 때문에 더 투명하지만, 교차 출처 보안 제약으로 인해 래퍼와 웹 페이지를 통신 할 수 없습니다. 첫 번째 접근법을 제안 하겠지만, 서버 웹 페이지를 리팩토링하여 응용 프로그램과보다 잘 통합되도록해야합니다.
이 (내가 jQuery를 사용하고있는 예에서 편의상,하지만 당신이 직접 XHR 사용 할 수있는)과 같이 작동합니다 : 당신은 작은 당신의 웹보기에서 index.html을 (폰갭을 만들
또는
<html>
<head>
<!-- Load all your css and javascript stuff here -->
</head>
<body>
<div id="wrapperdiv"></div>
</body>
</html>
동적으로 서버에서 콘텐츠를로드 할 자바 스크립트를 포함 : 당신이 무엇을 사용)과 래퍼 역할을하는 정의하면 서버에 호출을 수행하는
을 $(function() {
$.ajax({
url: 'http://www.michaels-server.com/your-web-endpoint',
type: 'GET',
crossDomain: true,
success: function(data, textStatus, xhr) {
$('#wrapperdiv').html(data);
}
error: function() { alert("Cannot contact server."); }
});
});
원본 출처 요청을 허용하도록 내장 웹보기를 구성하십시오.
< 위젯 ... >
< - 여기 위젯 구성 재료 - >
< 액세스 기원 = " * "/>
< : 폰갭에서 당신은 그런 짓을!- 더 위젯 구성 재료 - >
</위젯 >
당신의 HTML 래퍼의 사업부는 동적으로 서버에서 콘텐츠를로드합니다. 해당 페이지의 모든 자바 스크립트는 Phonegap에서 제공하는 것과 같은 내장 웹 뷰 DOM 모델을 사용하여 기본 API를 호출 할 수 있습니다.
희망이 도움이됩니다.
http://phonegap.com/ – kol