2017-05-08 4 views
0

HttpClient를 사용하여 HTML 문자열을 가져오고 WebView의 navigateToString 메서드를 사용하여이 페이지를 표시합니다. WebView에서이 페이지를 직접로드 할 수 있다는 것을 알고 있지만 WebView에 표시되기 전에 해당 페이지에서 일부 처리를 수행해야합니다.WebView에서 상대 소스를로드하는 방법

그래서 저는 질문에 직면했습니다. 웹 페이지는 헤더의 일부 css/js 파일을 인용하지만 'href'값은 상대 경로임을 알았습니다. 그러면 WebView에서 페이지가 올바르게 표시되지 않습니다.

[업데이트] 예를 들어, HttpClient를 사용하여 URI (http://example.com)를 요청하면 전체 html 페이지 문자열이 표시됩니다. 이 html 문자열에 대해 몇 가지 작업을 수행합니다. 그 후이 페이지를 표시하려면 WebView.NavigateToString(htmlpage) 메서드를 사용합니다. 하지만 헤드 태그를 확인하면 <link> 태그가 있고 href 값은 절대 경로가 아닌 상대 경로 (/style-a/1.css)입니다. 그러면 html 페이지가 WebView에서 올바르게 표시되지 않습니다.

누군가 해결책/코드 샘플을 줄 수 있습니까?

@Pedro Lamas, rene, Barett, moi_meme, Shachaf.Gortler 제 질문을 보류하지 마십시오. 나는 아무런 규칙도 어기 지 않았다. 제 질문은 분명했습니다. 내 질문에 대답하는 법을 모르기 때문에이 일을하는 것 같아. 괜찮아. 모르는 사람은 대답하지 않기를 선택할 수 있지만 보류 상태로 두지 마십시오.

+1

나는 NavigateToString 방법으로 가능 모르겠어요. 그러나 NavigateToLocalStreamUri 메서드를 사용하면 페이지의 모든 관련 링크에 대해 고유 한 해결자를 제공 할 수 있습니다. –

답변

0

당신은 ms-appx-web://와 링크 또는 스크립트 태그의 주소를 설정하고 추가 [/]과 그 후 주소를 넣을 수 있습니다.

<script src="ms-appx-web:///Assets/FolderName/test.js" type="text/javascript"></script> 

을 또한 링크를 사용할 수 있습니다 :

이 경우 예를 들어, 당신은 사용할 수 있습니다

<link rel="stylesheet" type="text/css" href="ms-appx-web:///style-a/1.css">