关于WebBrowse控件在vista系统下使用的问题(200)

  • 主题发起人 主题发起人 zhaojj
  • 开始时间 开始时间
Z

zhaojj

Unregistered / Unconfirmed
GUEST, unregistred user!
我用webbrowser控件加载了网页文件,网页中用了flash,在点击flash中的链接时我会在webbrowser的onbeforenavigate2 事件中取链接字符串(因为这个字符串不是一个正确的地址,我在事件中取得后会处理成正确的地址)。 现在情况是在其它系统下都正常,但是在vista系统下就会弹出 IE 抛出的错误,内容大概是 【无法找到 “。。。”,请确定路径或地址正确】 之类,而且没法定位到onbeforenavigate2 事件中。我在所有系统下都试了IE7,IE8。其它系统都是正常,vista下不管那个版本IE都出现这种情况。 如果网页中直接用链接(如<a href="test"> aaa </a>),在vista下运行正常。 请各位高手指教。
 
没听明白你的问题,你可以将你的程序贴出来看看.
 
可能我没说清楚,其实代码里面很简单。procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool);begin {在vista 系统中,点击flash中某个链接时不能进入该事件,(因为这里url不是一个正确的地址,我需要在下面解析) 如果链接地址直接写在html中,z在vista 系统中可以。} Cancel := true; //处理url地址 //处理完毕 //showmessage(url); Cancel := flase;end;
 
自己用最笨的方法解决了,方法是在flash点击的链接地址设置为一个正确地址(增加一个html文件),只是把原来的链接地址作为参数,在增加的html文件中把参数值作为链接地址,这样在WebBrowser1BeforeNavigate2事件中就能取到该参数值。
 
结贴了,只有qnaqbgss参与了,所以分都给qnaqbgss了。谢谢qnaqbgss的参与。
 
接受答案了.
 
后退
顶部