【问题标题】:Getting URL(URI) address from Web Browser从 Web 浏览器获取 URL(URI) 地址
【发布时间】:2019-01-04 05:23:01
【问题描述】:

我试图在导航后获取WebBrowser组件中的URL字符串(uri),但是返回的地址不完整。


它应该看起来像“https://oauth.vk.com/blank.html#access_token=...”但是

e.Uri.AbsoluteUri

所有其他字段仅返回“https://oauth.vk.com/blank.html”(image)

不返回“#”之外的行。我导航到浏览器中的地址,一切正常显示。我在任何地方都没有找到这个问题的答案,希望对我有所帮助。

我尝试以不同的方式获取 URL,但未能获取完整的字符串。


这是一个代码示例:

browser.Navigate(getTokenUrl);
browser.Navigated += (sender, e) =>
{
    MessageBox.Show(e.Uri.AbsoluteUri);
};

【问题讨论】:

    标签: c# wpf file uri


    【解决方案1】:

    JavaScript

    Window.location.href 将返回所有 url,包括哈希部分。

    您可以使用 api 在浏览器组件中运行此 JavaScript,它应该会返回正确的 url。

    运行 JavaScript 的 api 取决于您使用的浏览器组件。

    【讨论】:

    • 不。同样的问题。代码:var doc = (HTMLDocument)browser.Document; MessageBox.Show("RESULT: " + doc.parentWindow.location.href); 结果:image
    • 我也试过直接用javascript代码doc.parentWindow.execScript("alert(document.location.href)");,结果是一样的。
    • 在 JavaScript 中使用 window.location.href 而不是文档位置。如果这不起作用,请检查 location.hash 是否在散列后重新调整部分
    • 在浏览器中,location.hash返回正确,但是在WebBrowser组件中hash还是空
    猜你喜欢
    • 1970-01-01
    • 2015-02-09
    • 2013-02-14
    • 1970-01-01
    • 2023-02-18
    • 2014-08-04
    • 2014-12-18
    • 1970-01-01
    相关资源
    最近更新 更多