2017-01-12 2 views
0

외부 서비스의 제품 사양을 표시하려고합니다. 그렇게하려면 JS 문자열을 Webview에 전달해야합니다.webview UWP에서 동적 컨텐츠 표시

<!DOCTYPE html> 
<html> 
<body> 

    <div id="flix-minisite"></div> 
<div id="flix-inpage"></div> 
<script 
type="text/javascript" 
src="http://media.flixfacts.com/js/loader.js" 
data-flix-distributor="12612" 
data-flix-language="id" 
data-flix-brand="Samsung" 
data-flix-mpn="UA55JU6600KPXD" 
data-flix-ean="" 
data-flix-sku="" 
data-flix-button="flix-minisite" 
data-flix-inpage="flix-inpage" 
data-flix-button-image="" 
data-flix-fallback-language="e2" 
data-flix-price="" 
async> 
</script> 
</body>   </html> 

나는 아래의 방법을 추가했습니다 :이 그냥 서비스에서 텍스트를 표시 추가

webview.NavigateToString("htmlString"); 

을하지만, 이미지와 동영상이 표시되지 않아요. 내가 잘못 http://media.flixcar.com/delivery/minisite/show/12612/id/957752

을하고 있어요 무엇 :

는 결과를 예상?

+0

와 크롬에서 테스트. 일부 txt 파일을로드하는 동안 몇 가지 오류가 발생합니다. 그것을 WebView에 통합하기 전에 실행 가능한 웹 페이지를 만들어야합니다. –

+0

온라인 도구 (http://www.onlinehtmleditor.net/)에서이 HTML을 사용하면 모든 것이 나타납니다. – Prince

답변

0

나를 위해, 그것은 작동하지 않기 때문에 제대로 HTML 페이지에 추가되지에서 다음 스크립트를

<script type="text/javascript" src="//media.flixcar.com/delivery/static/inpage/9/js/lazy.js"></script> 

그것은 동적 스크립트 http://media.flixcar.com/delivery/static/inpage/9/js/append.js에 의해 추가됩니다.

url은 http://media.flixcar.com/delivery/static/inpage/9/js/lazy.js이어야하며 webview (Edge 브라우저 이외의 다른 것)에 의해 올바르게로드되어야합니다.

각 이미지 속성을 업데이트해야한다고 생각합니다. 현재는 프로토콜 없이도 모든 브라우저에서 지원되지 않습니다 (Chrome의 경우에만 작동 함).

<div class="flix-feature-image"> 
    <img src="//media.flixcar.com/delivery/static/mobile/standard/img/loading_icon.gif" 
     data-srcset="//media.flixcar.com/f360cdn/Samsung-1601328499-id-feature-uhd-ju6600-ua65ju6600kpxd-52938564 2x, //media.flixcar.com/f360cdn/Samsung-1601328499-id-feature-uhd-ju6600-ua65ju6600kpxd-52938564 770w"> 
</div> 

추가 프로토콜이 문제가 해결됩니다 : 당신의 코드로 간단한 HTML 페이지를 만든

<div class="flix-feature-image"> 
    <img src="http://media.flixcar.com/delivery/static/mobile/standard/img/loading_icon.gif" 
     data-srcset="http://media.flixcar.com/f360cdn/Samsung-1601328499-id-feature-uhd-ju6600-ua65ju6600kpxd-52938564 2x, http://media.flixcar.com/f360cdn/Samsung-1601328499-id-feature-uhd-ju6600-ua65ju6600kpxd-52938564 770w"> 
</div> 
+0

감사합니다. @Arnaud. 모든 요청에 ​​프로토콜을 삽입하는 것처럼이를 해결할 수 있습니까? 아니면 수정하도록 요청하는 것이 좋습니다. – Prince

+0

HTML 컨텐트에서 lazy.js를 직접 가져 와서 페이지를 수정할 수 있다고 생각합니다. 테스트 결과에 따라 jquery.js도 포함시켜야합니다. 그런 다음 모든 이미지를 반복하는 함수를 만들어 모든 'src'및 'data-srcset' 속성에 http : // 접두어를 추가합니다. 그 후에,'lazyhow' 이벤트 (lazy.js에서 선언 됨)를 호출하기 위해'img' 요소를 호출하십시오. 이 모든 단계를 통해 나는 그것이 효과가있을 것이라고 생각한다. :) –