2012-01-18 4 views
3

내 상황은 다음과 같습니다. 서버에서 HTML 스 니펫을로드하는 JavaScript와 index.html이 있습니다. 이 스 니펫 안에는 이미지에 대한 URL이 있습니다. /some/folder/picture.jpgPhoneGap의 절대 경로

물론 PhoneGap에서는 이러한 URL이 작동하지 않습니다. Weinre는 PhoneGap이 그림을로드하려고 시도하고 있다고 알려줍니다. file:///some/folder/picture.jpg

어떤 문제를 해결할 방법이 있습니까? 나는 기본 href, 또는 하나의 루트 경로를 지정할 수 있습니다 폰갭의 일부 구성 같은 것을 생각했다,하지만 난 그런 아무것도 찾을 수 없습니다 ...

감사합니다, 마이클

+0

는 그 이미지는 장치에로드하거나 서버에 있습니까? –

+0

서버의 파일에는 절대 URL을 사용해야합니다 (http : // www.myserver.com/some/folder/picture.jpg). – lexicore

+0

@ Simon 웹 사이트에서 서버의 이미지를로드하려고합니다. 전화에서 이미지를 로컬로로드하려고합니다. –

답변

0

당신은 할 수 없습니다 /은 항상 호스트 상대이기 때문에 <base>으로 처리하십시오. 서브 디렉토리에 있다고 다시 정의 할 수는 없습니다. (빌드 단계로 또는 뭔가를 당신을 위해 재 작성을) ../../some/folder/picture.jpg처럼 완전히 상대 경로를 사용하도록 HTML을 다시

  • , 또는

  • 는 "브라우저"(폰갭의 변경 : 두 가지 옵션이 있습니다 래퍼)를 사용하여 URL을 다르게로드합니다.

자동 옵션에 대해서는 언급 할 수 없으므로 PhoneGap에 익숙하지 않아 개인적으로 상대 URL을 사용하기 시작합니다.

+0

답변 해 주셔서 감사합니다. 그 동안에 다음 해결책을 구현했습니다 : - 과 웹 사이트의 이미지 URL을 기준으로 한 이미지 URL - CSS 등의 모든 이미지 경로를 PhoneGap 용으로 다시 작성합니다. –

4

뷰 (페이지)가 많고 메뉴에서로드하고 싶지만 알 수없는 위치에있을 때 특히 같은 문제가있었습니다.

간단한 해결 방법은 window.location 개체를 사용하는 것입니다.

window.location.href.split('www')[0] + 'www' 

'base'에 대한 절대 URL을 제공합니다. www는 IOS 및 Android와 관련된 폴더이므로 앱이 여러 플랫폼에서 호환됩니다.

jquery mobile처럼 data- * 속성을 사용하여 전체 문서를 전달하는 정규 표현식을 사용하여 해당 요소를 설명 할 수 있습니다. 정규식을 반환 된 경로로 간단하게 바꿉니다. 초기화하는 동안이 작업을 원할 것입니다. 그렇지 않으면 엄청나게 큰 병목이 생깁니다.

희망이 도움이되고 찾고있는 라인을 따라 가십시오.

건배,

Sententia