C# 设置Windows Phone 8.1 WebView的基本URL并使用NavigateToString()
在我的应用程序中,我想加载一个包含带有远程url的iframe的html。除了iframe的src之外,这个html总是相同的。我所做的是将html保存在一个字符串中,并填写iframe url,然后调用NavigateToString(html)。我从restapi中获取iframe url。我还得到了一个基本URL。如果我将这两个url合并成一个绝对url,并将其设置为iframe的src,页面由于安全原因将不会加载(这是一个支付页面)。但是如果我在没有baseUrl的情况下设置它,,当然,webview不知道baseUrl是什么,页面也不会加载 在Android中,可以简单地调用webView.loadDataWithBaseURL。Windows Phone 8.1中是否有类似的功能?有解决办法吗C# 设置Windows Phone 8.1 WebView的基本URL并使用NavigateToString(),c#,iframe,webview,windows-phone-8.1,winrt-xaml,C#,Iframe,Webview,Windows Phone 8.1,Winrt Xaml,在我的应用程序中,我想加载一个包含带有远程url的iframe的html。除了iframe的src之外,这个html总是相同的。我所做的是将html保存在一个字符串中,并填写iframe url,然后调用NavigateToString(html)。我从restapi中获取iframe url。我还得到了一个基本URL。如果我将这两个url合并成一个绝对url,并将其设置为iframe的src,页面由于安全原因将不会加载(这是一个支付页面)。但是如果我在没有baseUrl的情况下设置它,,当然,
(这个问题更加复杂,因为我还必须将Cookies设置到网络视图。)我想出了一个解决方案,这个解决方案很有效,而且实际上它没有我起初认为的那么粗糙 我跳过了字符串。例如,通过使用NavigateWithHttpRequestMessage,我可以向URL发送请求。我还可以设置cookies(有关此项的更多信息:)。到目前为止,我已经:
await wvSecurePay.InvokeScriptAsync("eval", new string[] { "document.getElementsByTagName('html')[0].innerHTML = '" + htmlToLoad + "';"})
这将用我要加载的内容替换当前html内容。因此,我的html包含iframe和我需要的域所在页面上的相对url。我想出了一个解决方案,但这是一个黑客:我使用NavigateWithHttpRequestMessage加载一个不存在的url(从而设置基本url),而不是使用JavaScript将整个html内容替换为包含iframe的html。不过,欢迎提出其他想法!你能分享代码块吗?