如何在webview UWP中嵌入网站的一部分

时间:2017-03-09 22:10:22

标签: c# webview uwp win-universal-app uwp-xaml

是否可以在UWP中的WebView控件上仅嵌入页面内的特定部分(即div)?

3 个答案:

答案 0 :(得分:2)

webview不包含地址栏,因此只会显示您加载或可以从这些页面导航到的页面。如果您可以控制加载的内容,则只能显示您想要的页面。

如果您无法控制网站的HTML,则可以通过处理NavigationStarting事件来阻止访问您不想要的网页,并取消导航,如果它不是您没有的页面想要展示。

答案 1 :(得分:1)

不,假设网站的“部分”是指页面中的一部分。然而,正如Matt所说,如果您只想显示某个页面,您当然可以导航到相关的网页,然后通过他的方法控制您允许的导航链接。

如果您确实只是意味着页面中的一部分,则选项不具吸引力。从理论上讲,您可以使用Http请求下拉网站的html,然后解析它以过滤掉您不想要的内容,将其存储在本地,然后在Webview中加载该本地页面。但是我认为这会增加很多开销,可能会与javascript或网站可能使用的任何其他内容产生冲突。但是,嘿,如果它是一个非常有针对性的用例,你可以使用它。

如果在您的方案中,虽然您也控制了该应用正在访问的网站,那么我只需启用特定网址即可在应用请求时提供所需的网站版本。

答案 2 :(得分:0)

注意100%肯定,但我可以点击将任何html内容的外部部分嵌入到webview控件中打开的网站。

var result = await this.webView.InvokeScriptAsync("eval", new[] { "document.documentElement.outerHTML;" });

string result = await this.webView.InvokeScriptAsync("eval", new [] {"document.getElementById('tablePrint').innerHTML = myTable;" }); 

通过java脚本添加HTML内容。

希望有所帮助