在 webview UWP 中显示动态内容
Displaying dynamic content in webview UWP
我想显示来自外部服务的产品规格。为此,我必须将以下 JS 字符串传递给 Webview。
<!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
我做错了什么?
对我来说,它不起作用,因为以下脚本未正确添加到您的 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>
添加协议将解决问题:
<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>
我想显示来自外部服务的产品规格。为此,我必须将以下 JS 字符串传递给 Webview。
<!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
我做错了什么?
对我来说,它不起作用,因为以下脚本未正确添加到您的 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>
添加协议将解决问题:
<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>