当前位置:编程学习 > C#/ASP.NET >>

webbrowser弹出窗口-javascript

各位前辈
  最近小弟编写一浏览器.使用.NET webbrowser控件.
  在遇到javascript页面的弹出窗口时.可以正常抓取出弹出的地址并打开页面.
  但在新开页面中是一个输入的表单.填写后表单的值需要返回父窗口.这时javascript就会报错说 window.opener 错误等等.
  请问各位前辈,如何控制javascript弹出窗口,并获得弹出窗口的返回值.就像IE那样.
  谢谢各位! --------------------编程问答-------------------- 目前我的弹出窗口代码如下:

'加载 \system32\SHDocVw.dll
Imports SHDocVw
'窗体启动加载代码
Private Sub frm_Main_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AddHandler DirectCast(WebBrowser.ActiveXInstance, SHDocVw.WebBrowser).NewWindow3, AddressOf NewWindow3
End Sub

'跳转新页面代码
    Private Sub NewWindow3(ByRef ppDisp As Object, ByRef Cancel As Boolean, _
            ByVal dwFlags As UInteger, _
            ByVal bstrUrlContext As String, ByVal bstrUrl As String)


        DirectCast(WebBrowser.ActiveXInstance, SHDocVw.WebBrowser).RegisterAsBrowser = True

        Dim frm As new_Form = New new_Form
        frm.WebBrowser.Navigate(bstrUrl)
        frm.Show()
        Cancel = True
    End Sub


使用上面的代码可以正确的开启弹出窗口。但在弹出窗口中填写表单后却无法正常将值返回主窗口网页。
弹出脚本错误:window.opener.document 为空或不是对象。
请各位大侠指点迷径! --------------------编程问答-------------------- 在webbrower中打开页面,不要在新窗口
axWebBrowser.RegisterAsBrowser=true --------------------编程问答--------------------
引用 2 楼 wuyq11 的回复:
在webbrower中打开页面,不要在新窗口
axWebBrowser.RegisterAsBrowser=true


因为新开窗口中的表单需要参照主窗口内容填写。所以必须开新窗口。
在这种情况下如何处理?
--------------------编程问答-------------------- 顶一下。有没有人知道啊。。。。 --------------------编程问答--------------------
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,