gpt4 book ai didi

c# - 设置 Windows Phone 8.1 WebView 的基本 URL 并使用 NavigateToString()

转载 作者:行者123 更新时间:2023-12-02 02:16:09 25 4
gpt4 key购买 nike

在我的应用程序中,我想加载一个包含带有远程 URL 的 iframe 的 html。除了 iframe 的 src 之外,该 html 始终相同。我所做的是将 html 保存在字符串中,并填写 iframe url,然后调用 NavigateToString(html)。我从 REST API 获取 iframe url。我还得到了一个baseUrl。如果我将这两个网址合并为一个绝对网址并将其设置为 iframe 的 src,则由于安全原因(这是一个付款页面),页面将不会加载。但是如果我设置它没有baseUrl,当然,webview不知道baseUrl是什么,并且页面不会加载 .

在 Android 中,可以简单地调用webView.loadDataWithBaseURL。 Windows Phone 8.1中有类似的功能吗?有什么解决办法吗?

(问题变得更加复杂,因为我还必须将 Cookie 设置到 webview。)

最佳答案

我想出了一个可行的解决方案,而且实际上它比我一开始看起来的要简单。

我跳过了 NavigateToString。通过使用 NavigateWithHttpRequestMessage,我可以向 URL 发送请求,例如 http://mybackend.com 。我也可以设置cookie(更多信息:https://social.msdn.microsoft.com/Forums/windowsapps/en-US/a451d411-9312-4d40-80ee-112e166144ab/how-to-send-auth-cookie-in-webview-request?forum=winappswithcsharp)。到目前为止我已经:

  1. 基本 URL 设置

  2. cookie 设置。

不过,我还没有设置本地 html 字符串。为此,在 WebView 的 NavigationCompleted 事件中,我运行如下 JS 脚本:

await wvSecurePay.InvokeScriptAsync("eval", new string[] { "document.getElementsByTagName('html')[0].innerHTML = '" + htmlToLoad + "';"})

这会将当前的 html 内容替换为我想要加载的内容。所以我的 html 包含 iframe 以及具有我需要的域的页面上的相对 url。

关于c# - 设置 Windows Phone 8.1 WebView 的基本 URL 并使用 NavigateToString(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32612521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com