문제

나는 BlackBerry Storm (9530 Simulator)에서 PhoneGap을 만들고 실행하기 위해 기소하고 있습니다. BB의 내장 브라우저를 사용하여 웹 app을 테스트하고 있었는데 괜찮아 보였지만 전화기 내에서 일부 코드를 보려고 시도한 후에는 전화기를 동일한 URL (i Hadn을 가리 켰습니다. '아직도 장치에서 로컬로 코드를 실행하는 지점에 도달했습니다).

Google에서 테스트 케이스를 시도했고 유사한 결과를 얻었습니다. 아래를 참조하십시오. 나는 여기서 기본적인 것을 놓친 것으로 생각합니다. 두 이미지 모두 거의 동일 할 것으로 기대했을 것입니다.

브라우저http://www.eleganttechnologies.com/outside/imgdevicebb9530webgoogle.jpg

전화기http://www.eleganttechnologies.com/outside/imgdevicebb9530pggoogle.jpg

업데이트] 무슨 일이 일어나고 있는지에 대해 약간의 빛을 발하기 위해 W3 Mobile Web Acid 테스트에 대해 브라우저와 임베디드 브라우저 (PhoneGap)를 실행했습니다. http://www.w3.org/2008/06/mobile-test/나는 분명히 둘 사이의 차이를 알아 차리지 만 아직 '왜'와 'address'를 모른다.

내장 브라우저를 통한 산성
(원천: ElegantTechnologies.com)
BTW- 나는 오늘이 일찍 달렸고 지금보다 몇 개의 녹색 광장을 얻었습니다.

PhoneGap에 포함 된 브라우저를 통한 산성http://www.eleganttechnologies.com/outside/imgdevicebb9530pgacid.jpg

도움이 되었습니까?

해결책

면책 조항 : 나는 폰 갭에 대해 아무것도 모르지만 꽤 좋은 이론이 있습니다. 기본적으로 BlackBerry의 내장 브라우저 컨트롤은 BlackBerry 브라우저 자체보다 이전 버전의 렌더링 엔진을 사용합니다.

작년에 BlackBerry Developer Conference에서 이에 대한 대화가 나왔고 새로운 렌더링 엔진을 사용할 수있는 문서화되지 않은 옵션이 있습니다.

옵션 ID는 17000 (예, 마법 번호는 변경 될 수 있으며 자신의 위험에 따라 사용)이며 True로 설정해야합니다. 전화기를 통해이 옵션을 어떻게 전달하는지 잘 모르겠지만 (툴킷에 익숙하지 않음) BlackBerry API를 사용하는 것은 다음과 같습니다.

BrowserContent content;
...
content.getRenderingOptions().setProperty(RenderingOptions.CORE_OPTIONS_GUID, 17000, true);

다른 팁

사용중인 브라우저의 세부 사항을 모르지만 대부분의 대형 사이트가 OS + 브라우저 조합을 감지하여 HTML을 보여줄 수있는 HTML을 결정합니다.

Google이 다른 사용자 에이전트를 보는 경우 내장 된 브라우저에 대해 얻는 BlackBerry 특정 HTML 대신 HTML의 일반 모바일 버전을 얻을 수 있습니다.

웹 서버에 액세스 할 수있는 경우 두 브라우저 설정을 사용하여 웹 서버를 누르고 로그 파일에 차이가 있는지 확인하십시오. 그것은 당신에게 흥미로운 것을 말할 수 있습니다.

우리가 당신의 산 테스트에서 볼 수 있듯이 ...

하나의 브라우저 (내장 된 브라우저)는 BlackBerry9530으로 올바르게보고하고 다른 브라우저는 사용자 에이전트 [ "테스트"]를 제시하지 않습니다. 이 경우 Google은 홈페이지의 기본보기를 제공하는 반면 BlackBerry 장치로 자신을보고 할 때 BlackBerry 특정 렌더링을 얻게됩니다.

사물의 소리에 의해, 폰 그랩을 사용하면 기본 사용자 에이전트를 제거합니다 (아마도 장치를 인식하지 못하기 때문에). PhoneGap이 오픈 소스이므로 가장 좋은 방법은 HTTP 요청이 장치를 떠나서 다시 추적 할 때 사용자 에이전트에 어떤 일이 발생하는지 알아내는 것입니다.

어쩌면 하나의 브라우저에는 다른 브라우저가없는 기능이 있습니까?

흠. 스크린 샷을 보면 두 번째 페이지에 일부 리소스가 누락되었을 것입니다. 일부 이미지, 스크립트 및 CSS 파일이 누락되어 다른 L & F를 설명합니다. BlackBerry Browser Field API가 어떻게 작동하는지 알면 브라우저 필드를 사용하는 구현은 올바르게 수행되지 않았다고 생각합니다. 내 추측. 그 외에도 브라우저 필드가 초기화되면 호출자는 적절한 브라우저 기능 (스크립트, 스타일 등)을 활성화하여 올바르게 구성해야합니다. 다시, API는 매우 이상한 방식으로 수행됩니다. . 옵션을 설정할 때 CSS | WML | 스크립트와 같은 마스크 하나를 만들고 하나의 호출을 할 수 없습니다. 옵션은 숫자이며 겹치지 않는 것으로 생각합니다. 그러나 각 옵션을 독립적으로 설정하려면 API를 호출해야합니다.

또한 Browserfield를위한 자원의 비동기 적재 방식은 이해하는 데 시간이 걸립니다.

내 $ 0.02.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top