【发布时间】:2017-07-31 02:13:36
【问题描述】:
是否可以在 UWP 中的 WebView 控件上仅嵌入页面(即 div)内的特定部分?
【问题讨论】:
-
Может это поможет: Link to answer
标签: c# webview uwp win-universal-app uwp-xaml
是否可以在 UWP 中的 WebView 控件上仅嵌入页面(即 div)内的特定部分?
【问题讨论】:
标签: c# webview uwp win-universal-app uwp-xaml
网络视图不包含地址栏,因此只会显示您加载的页面或可以从这些页面导航到的页面。如果您可以控制加载的内容,则可以只显示您希望的页面。
如果您无法控制网站的 HTML,您可以通过处理 NavigationStarting 事件并取消导航到您不想显示的页面来阻止访问您不想要的页面.
【讨论】:
不,假设网站的“部分”是指页面中的一部分。不过正如Matt所说,如果你只想展示某个页面,当然可以导航到相关网页,然后通过他的方法控制允许哪些导航链接。
如果您确实只是指页面中的一部分,那么这些选项就没有吸引力。从理论上讲,您可以使用 Http 请求下拉站点的 html,然后对其进行解析以过滤掉您不想要的内容,将其存储在本地,然后在 webview 中加载该本地页面。但是,我认为这会增加大量开销,可能会与 javascript 或网站可能使用的任何其他内容产生冲突,等等。但是,嘿,如果它是一个非常有针对性的用例,您也许可以使用它。
如果在您的场景中,虽然您还控制了该应用正在访问的所述网站,那么我只需启用特定 URL 以在应用请求它们时提供您网站的所需版本。
【讨论】:
注意 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内容。
希望对你有所帮助
【讨论】: