【发布时间】:2021-05-07 15:17:35
【问题描述】:
嗯,
我开发了一个本机浏览器,但在此浏览器上导航的网站出现问题。
一个输入[“type”]-按钮点击发布一个http请求以获取并在新标签(onglet)中显示另一个页面。
我正在尝试几种方法,但 WebBrowser 的 TabPageof 是空白的,并且我打开了一个 IE 资源管理器窗口。
这里是代码
private void Browser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
webBrowser22 = (WebBrowser)sender;
if (webBrowser22.Document != null)
{
foreach (HtmlElement tag in webBrowser22.Document.All)
{
HtmlElementCollection elements = webBrowser22.Document.GetElementsByTagName("input");
for (int i = 0; i < elements.Count; i++)
{
HtmlElement el = elements[i];
string elType = el.GetAttribute("type");
switch (elType)
{
case "radio":
case "checkbox":
case "button":
{
el.MouseUp += new HtmlElementEventHandler(link_MouseUpPup);
}
}}}}
private void link_MouseUpPup(object sender, HtmlElementEventArgs e)
{
this.tb2 = new System.Windows.Forms.TabPage();
this.webBrowser221 = new System.Windows.Forms.WebBrowser();
var linky = (HtmlElement)sender;
mshtml.HTMLAnchorElement ba = (mshtml.HTMLAnchorElement)linky.DomElement;
// if ((ba.target != null && ba.target.ToLower() == "_blank") || e.ShiftKeyPressed || e.MouseButtonsPressed == MouseButtons.Middle)
//if (Regex.Match(e.ReturnValue.ToString(), "http:").Value != null || Regex.Match(e.ReturnValue.ToString(), "https:").Value != null)
tabControl1.Controls.AddRange(new Control[] { this.tb2 });
tb2.Controls.AddRange(new Control[] { this.webBrowser221 });
webBrowser221.Dock = DockStyle.Fill;
1ERE METHODE----
//webBrowser221.Navigate(HttpContext.Current.Request.Url.AbsoluteUri);
2EME METHODE----
//webBrowser221.Navigate(ba.href);
3EME METHODE----
// webBrowser221.Navigate(HttpContext.Current.Request.ServerVariables["URL"].ToString());
4EME METHODE----
// webBrowser221.Navigate(e.ToElement.GetAttribute("onclick").ToString());
tb2.Text = e.ToElement.GetAttribute("onclick").ToString();
tb2.ToolTipText = webBrowser221.StatusText;
}
问题是我会在他的进程之后通过点击输入打开网站页面加载(该进程是用函数window.open和属性target =“_blank”在html和javascript中编程的)由c#控件网络浏览器。
问题出在哪里,打开的是浏览器而不是 webBrowser 窗口。
感谢您的帮助。
文学硕士
【问题讨论】:
-
对于此 webBrowser 控件,该方法执行单击按钮,但它不执行与此单击按钮关联的脚本 javascript。
标签: javascript c# asp.net winforms