gpt4 book ai didi

c# - 弹出窗口 web 浏览器控件

转载 作者:行者123 更新时间:2023-11-30 13:19:48 25 4
gpt4 key购买 nike

我正在使用网络浏览器控件从网站获取一些信息。它有一个详细信息链接,单击该链接会打开一个弹出窗口并在网络浏览器中显示详细信息。

如果单击 webbrowser 控件中的链接(通过程序)打开另一个窗口并显示执行错误,我该怎么办。

但在资源管理器中它是有效的。我注意到只有在 Internet Explorer 中打开主页时详细信息链接才有效,否则如果我直接从 Internet Explorer 调用详细信息 URL,它也会给我同样的错误。

最佳答案

我最近遇到了一个非常相似的情况。就我而言,弹出式浏览器不共享嵌入式浏览器的 session 。我必须做的是捕获 NewWindow 事件并取消它,然后将预期的 URL 发送到嵌入式浏览器。我需要使用 ActiveX 浏览器实例,因为它会为您提供试图启动的 URL。这是我的代码:

您需要将 Microsoft Internet Controls COM 引用添加到您的项目才能使其正常工作。

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// this assumes that you've added an instance of WebBrowser and named it webBrowser to your form
SHDocVw.WebBrowser_V1 axBrowser = (SHDocVw.WebBrowser_V1)webBrowser.ActiveXInstance;

// listen for new windows
axBrowser.NewWindow += axBrowser_NewWindow;
}

void axBrowser_NewWindow(string URL, int Flags, string TargetFrameName, ref object PostData, string Headers, ref bool Processed)
{
// cancel the PopUp event
Processed = true;

// send the popup URL to the WebBrowser control
webBrowser.Navigate(URL);
}
}

关于c# - 弹出窗口 web 浏览器控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15239946/

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