You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击Awesomium WebControl内搜索结果链接加载目标页面

解决Awesomium WebControl同窗口加载链接的问题
  • 先确认基础配置:把WebControl1的AllowNavigation属性设为true,这是控件能导航到新URL的前提。

  • 处理BeforeNavigation事件,拦截导航请求并强制在当前控件加载:

private void WebControl1_BeforeNavigation(object sender, BeforeNavigationEventArgs e)
{
    e.Cancel = true;
    WebControl1.Source = new Uri(e.Url);
}

如果需要过滤特定域名的链接,直接在方法里加判断条件即可。

  • 针对带target="_blank"的链接,必须处理NewWindowRequest事件——这类链接默认会触发新窗口请求,拦截后转到当前控件加载:
private void WebControl1_NewWindowRequest(object sender, NewWindowRequestEventArgs e)
{
    e.Cancel = true;
    WebControl1.Source = e.TargetURL;
}
  • 若仍出现加载失败,检查WebSession配置,初始化控件时设置共享会话试试:
WebControl1.WebSession = WebCore.CreateWebSession(new WebPreferences());
  • 可以添加NavigationFailed事件捕获错误信息,方便排查问题:
private void WebControl1_NavigationFailed(object sender, NavigationFailedEventArgs e)
{
    MessageBox.Show($"加载失败:{e.ErrorMessage}");
}

内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:42:02