xWebBrowser.opener 浏览器之间建立联系

来源:互联网 发布:linux vim 不保存 编辑:程序博客网 时间:2024/06/03 12:49
在axWebBrowser_NewWindow3中加 e.ppDisp = axWebBrowser2.Application;axWebBrowser与axWebBrowser2建立关系,可以解决问题。axWebBrowser2为axWebBrowser_NewWindow3事件中打开的[新的页面]的WebBrowser。

如果设置为e.cancel = true,则window.opener为空,去掉e.cancel=true,则window.opener可以获取到。


例子如下:

      private void webBrowser1_NewWindow3(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow3Event e)
        {
            if (e.bstrUrl.Contains("imgupload/pic_upload.asp?forminputname=myform.img"))
            {
                backUrl = "imgupload/pic_upload.asp?forminputname=myform.img";
                //_url + "check.asp?cityid=" + SysUser.Cityid + "&userid=" + SysUser.UserId + "&backUrl="
                FrmWinOpen frw = new FrmWinOpen(_url + "check.asp?cityid=" + SysUser.Cityid + "&userid=" + SysUser.UserId + "&backUrl=" + backUrl, e);
                e.ppDisp = frw.axWebBrowser1.Application;
                frw.axWebBrowser1.RegisterAsBrowser = true;
                frw.Show();
                //e.cancel = true;
            }
        }


这种情况下,frw.axWebBrowser1内容中调用opener不为空,关系正常建立

0 0
原创粉丝点击