Javascript 获取加载html页面的url时出现问题(c#)

Javascript 获取加载html页面的url时出现问题(c#),javascript,c#,asp.net,winforms,Javascript,C#,Asp.net,Winforms,那么 我开发了一个本机浏览器,但在该浏览器上导航的站点出现问题 输入[“键入”]-按钮单击发布httprequest以获取并在新选项卡(onglet)中显示其他页面 我正在尝试几种方法,但webBrowser的选项卡页是空白的,我打开了IE浏览器窗口 这是密码 private void Browser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e) { webBrowser22 = (W

那么

我开发了一个本机浏览器,但在该浏览器上导航的站点出现问题

输入[“键入”]-按钮单击发布httprequest以获取并在新选项卡(onglet)中显示其他页面

我正在尝试几种方法,但webBrowser的选项卡页是空白的,我打开了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;
            }
private void Browser\u ProgressChanged(对象发送方,WebBrowserProgressChangedEventArgs e)
{
webBrowser22=(WebBrowser)发送方;
如果(webBrowser22.Document!=null)
{
foreach(webBrowser22.Document.All中的HtmlElement标记)
{
HtmlElementCollection elements=webBrowser22.Document.GetElementsByTagName(“输入”);
for(int i=0;i
问题是,我会在他的过程之后通过点击输入打开站点页面加载(该过程由c#control webBrowser使用函数window.open和属性target=“_blank”)以html和javascript编程

问题是谁,是ie浏览器而不是webBrowser窗口打开了

谢谢你的帮助

硕士最后

我使用了“Microsoft Internet Controls”中的包引用“SHDocVm”,并将函数处理程序NewWindow3放在case按钮之后,这样就可以了,一个window.open()javascript函数和target=“\u blank”打开webBrowser的新页面

真正属于你的


M.A.

对于此webBrowser控件,该方法执行click按钮,但不执行与此click按钮关联的javascript脚本。