【发布时间】:2021-07-29 19:00:44
【问题描述】:
我正在尝试在 wxWidgets 中将 wxHTML 替换为 wxWebView。尝试获取单击的超链接的 URL 时遇到问题。 之前的代码是这样的:
void mywxHtmlWindow::OnLinkClicked( const wxHtmlLinkInfo& link )
{
...
link.GetHref();
...
}
现在我有了:
void OnLinkClicked( wxWebViewEvent& evt )
{
...
evt.GetURL();
...
}
之前的结果类似于"myURL",当前结果类似于"about:myURL",我不知道为什么开头有"about:"。我应该怎么做才能得到和以前一样的结果?
更新:
我在以下两种情况下都设置了页面源:
mBrowser->SetPage( currentPage_, wxString() );
页面源代码中的所有标签都是这样的:
<a href="myURL">clickHere</a>
当我点击链接时,我想得到myURL 字符串。
更新 2:
myURL 可以是任意字符串,例如哈希
(e.g. myURL="git-c2b617b1ec4bbaba2201020ec946b037f5935b77").
这不是像“http://www.google.com”这样的常用网址。
【问题讨论】:
-
为什么您更改了控件并期望相同的行为?现在问题来了 -
myURL在两种情况下都一样吗? -
嗨@Igor,是的,'myURL' 在两种情况下都是相同的。开头只有“about:”。我正在替换,因为我需要更多 wxHTML 没有为我提供的功能。
-
您没有回答我的第一个问题 - 为什么您希望 2 个不同事物的行为相同?
-
@Igor 我更新了问题。正如我所说,我需要在单击链接时获取
myURL字符串,但我不知道在 wxWebview 中获取它的另一种方式。 -
什么是wx版本?操作系统? WebView 后端?你检查
webview样本了吗?