在用c# WebBrowser控件或用axWebBrowser控件时,对事件NewWindow3进行了处理:
本来要在新的IE窗口打开的页面进行了吸收( e.cancel = true;),再用WebBrowser或axWebBrowser打开新页面。因吸收了页面,[新页面]与[打开新页面的页面]的关系没了。
本来在IE中[新页面]可以通过window.opener访问[打开新页面的页面]的window,现在因为是WebBrowser打开新页面,页面window.opener值为NULL.请问高手,该怎样处理window.opener值为[打开新页面的页面]的window.
本来要在新的IE窗口打开的页面进行了吸收( e.cancel = true;),再用WebBrowser或axWebBrowser打开新页面。因吸收了页面,[新页面]与[打开新页面的页面]的关系没了。
本来在IE中[新页面]可以通过window.opener访问[打开新页面的页面]的window,现在因为是WebBrowser打开新页面,页面window.opener值为NULL.请问高手,该怎样处理window.opener值为[打开新页面的页面]的window.
webBrowser1_NewWindow中设置:axWebBrowser.RegisterAsBrowser=true;
axWebBrowser.RegisterAsBrowser=true;
你的window.opener做什么用?
在axWebBrowser_NewWindow3中加e.ppDisp = axWebBrowser2.Application;axWebBrowser与axWebBrowser2建立关系,可以解决问题。axWebBrowser2为axWebBrowser_NewWindow3事件中打开的[新的页面]的WebBrowser。
如果设置为e.cancel = true,则window.opener为空
window.opener,window.parent 等都无法使用。